python3基礎筆記(四):模塊安裝&os模塊&時間模塊



一、第三方模塊如何安裝:
pip install xxx #安裝
pip uninstall xx #卸載
pip install xx -U #更新
pip freeze > 第三方模塊.txt #導出已經安裝的第三放模塊
pip install -r 第三方模塊.txt #從文件里面讀模塊,批量安裝
pip問題:
1、pip命令不存在,把python安裝目錄下的Scripts加入環境變量
2、pip 的時候沒用python目錄下的pip,使用where命令知道其他的pip,改為其他名字
手動安裝:
1、whl結尾的
pip install /Users/PyMySQL-0.9.3-py2.py3-none-any.whl #后面whl文件的絕對路徑
2、tar.gz結尾的
1、解壓
2、在命令行里面進入到解壓的目錄下
3、執行python setup.py install

如果電腦上有多個版本的python
1、python3 -m pip install xpinyin
python2 -m pip install xpinyin
2、找到各個版本的下面的scripts目錄,pip各自修改為 pip2 /pip3

 

二、導入模塊的實質:把該模塊從上到下的執行一遍

導入模塊的順序:

1、當前目錄下找

2、在sys.path目錄下找

如果導入的文件不再當前目錄下,也不再sys.path下,要想使用可以把文件目錄加入到sys.path里,方法如下:

append是把目錄加入到sys.path目錄末尾,insert是加入到sys.path目錄最前面
sys.path.append(r'/Users/Documents/study')
sys.path.insert(0,r'/Users/Documents/study)
print(sys.path)

有一個tools文件是這樣的:

name='tools文件'

def test():
    print('aaabb')
    return 'abc'

if __name__ == '__main__':  #main下的代碼不會被執行
   print('aaa')
   print('end')

導入模塊的方法:

1、import tools  #該方法調用的時候是. 例如:tools.name

2、from tools import name,test   #該方法調用的時候直接用,例如print(name)

如果導入的模塊名字特別長,可以起一個別名,例如 import tools as t 以后使用的時候直接t.就可以了

 

OS模塊:

os常用命令:

os.mkdir('test')#創建一級文件夾
os.makedirs()#創建多級文件夾,如果副目錄不存在會一並創建
print(os.listdir(r'/Users/wutata/Documents')) #獲取某個目錄下的所有文件

#如果忘了某個文件存在了哪里,要如何找
#1、判斷是文件還是文件夾
#2、進入某個文件夾
print(os.path.isdir(r'/Users/wutata/Documents')) #判斷是否是文件夾
print(os.path.isfile(r'/Users/wutata/Documents')) #判斷是否是文件
os.chdir(r'/Users/wutata/Documents') #進入某個文件夾
print(os.listdir())#查看該文件夾下的所有文件,如果某文件夾下有多層目錄,只能看該文件夾下第一層下的文件

os.walk函數可以遍歷某個目錄下的所有文件和文件夾
#寫一個找.mp4文件的例子:
# name='.mp4'
# for cur_dir,dirs,files in os.walk(r'/Users/wutata/Documents'):
#     # print(cur_dir,dirs,files)
#     for file in files:
#         if name in file:
#             abs_path=os.path.join(cur_dir,file)
#             print('找到%s文件,路徑是%s'%(file,abs_path))

#要寫成一個通用的函數
# def search_file(path,name):
#     for cur_dir, dirs, files in os.walk(path):
#         for file in files:
#             if name in file:
#                abs_path = os.path.join(cur_dir, file)
#                print('找到%s文件,路徑是%s' % (file, abs_path))
# search_file()

 print(os.getcwd()) #獲取當前路徑
print(os.system('ifconfig'))#執行操作系統命令,只執行命令不給返回結果
result=os.popen('ifconfig').read() #執行操作系統命令,並拿到返回結果
print('result-----',result)
os.path.getsize()#獲取文件大小
os.path.exists() #判斷文件是否存在
os.path.getatime()#最近一次的訪問時間
os.path.getctime()#文件的創建時間
os.path.getmtime()#文件的修改時間
os.path.split()# 將文件路徑和文件名分開,如果是長路徑的想取文件名就用該方法,然后取下標是-1的就是文件名
os.path.dirname()#獲取父目錄
os.path.abspath()#根據相對路徑獲取絕對路徑(要想獲取到day3文件下的a.txt這么寫../day3/a.txt)
os.path.abspath(__file__)#__file__是獲取當前文件的絕對路徑
os.rmdir() #刪除空文件夾
os.removedirs() #刪除空文件夾會把父目錄一起刪除
os.remove() #刪除文件

 

時間模塊:

import time ,datetime

# time.time() #獲取當前時間戳
# print(time.strftime('%Y-%m-%d %H:%M:%S'))#獲取當前格式化好的時間

#時間元祖(時間戳與格式化好的時間相互轉換需要用到)

#1、時間戳轉格式化的時間

timestamp=1342423451
# time_tuple=time.gmtime(timestamp)#以標准時區的時間轉換,標准時區比當前時區小
time_tuple=time.localtime(timestamp) #將時間戳轉換成時間元祖,以當前時間轉換
result=time.strftime('%Y-%m-%d %H:%M:%S',time_tuple) #將時間元祖轉換成格式化的時間
print(result)


#2、將格式化好的時間轉換成時間戳
s='2019-10-22 17:12:14'
time_tuple=time.strptime(s,'%Y-%m-%d %H:%M:%S') #格式化好的時間轉成時間元祖
result=time.mktime(time_tuple) #把時間元祖轉換成時間戳
print(result)


#封裝成一個通用函數

def timestamp_to_str(timestamp=None,format='%Y-%m-%d %H:%M:%S'):
    '''時間戳轉格式化好的時間,默認返回當前時間'''
    if timestamp:
        time_tuple = time.localtime(timestamp) #將時間戳轉換成時間元祖,以當前時間轉換
        result = time.strftime(format,time_tuple) #將時間元祖轉換成格式化的時間
    else:
        result=time.strftime(format)
    return result

def str_to_timestamp(string=None,format='%Y-%m-%d %H:%M:%S'):
    '''格式化好的字符串轉時間戳,默認返回當前的時間戳'''
    if string:
        time_tuple = time.strptime(string,format) #格式化好的時間轉成時間元祖
        result=time.mktime(time_tuple) #把時間元祖轉換成時間戳
    else:
        result=time.time()
    return int(result)

#若想獲得3天以后的時間,怎么寫?
t1=str_to_timestamp()+60*60*24*3
result=timestamp_to_str(t1)
print(result)

 

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM