Python——關於常見模組(長期更新)
阿新 • • 發佈:2018-12-21
1、在Python中,我們最常見的估計就是時間模組,所以第一個我來說一下時間模組:
import time print(time.time()) #時間戳,從1970年8點開始的 print(time.clock()) #計算cpu的執行時間 print(time.gmtime()) #UTC時間 print(time.localtime()) #北京時間 print(time.strftime('%Y-%m-%d %H:%M:%S')) #建立時間格式 a = time.strptime('2018-11-12 21:41:32','%Y-%m-%d %H:%M:%S') print(a.tm_year) #2018 求上面變數a所給時間的年 print(time.ctime(1)) #如果括號為空,則顯示當前時間,括號裡面顯示的為秒數,從1970年8點開始計算 print(time.mktime(time.localtime())) #將時間戳轉化為秒
關於上面所說的時間模組,那麼我們有什麼應用呢,在日常書寫中,我們經常要給檔案寫時間與日期,這時候就可呼叫時間模組
#假設這樣一個場景,如果有人開啟祕密文字,則記錄開啟的時間,將其儲存到文字中,如果開啟的是公開文字,則不記錄 import time def sceret(): print('祕密文字') def text(): print('公開文字') def logger_one(f): def logger_two(): f() a = open('logger_sceret.txt','r+') a.read() a.write('\r\n') print(a.write(time.strftime('%Y-%m-%d %H:%M:%S'))) a.close() return logger_two sceret = logger_one(sceret) sceret()
2、接下來說以下random(隨機數)模組:
import random #在Python中,如果我們要定義隨機數模組 print(random.random()) #這是一個 0-1的隨機數 print(random.randint(1,8)) #隨機出現1——8,包含8 print(random.choice(['123',4,[1,2]])) #隨機出現列表裡的一個 print(random.sample(['123',4,[1,2]],2)) #隨機出現列表裡的兩個 print(random.randrange(1,3)) #,隨機出現1——3,不包含3
上面我們說了一下隨機數模組,那麼隨機數模組在哪裡應用呢,在日常生活中,我們常接受到的簡訊驗證碼就可以用隨機數來做
import random
def v_code(): #定義這個隨機數函式
code = '' #首先定義將要給出的驗證碼為空
for i in range(5):
add=random.choice([random.randrange(10),chr(random.randrange(97,123))]) #驗證碼為五位的小寫字母和數字任意組合
code+=str(add) #每次出現的數字或字母拼接在一起
print(code)
v_code() #呼叫,便可出現這個隨機驗證碼
3、接下來我們來說一下關於os模組
import os
os.getcwd()) #獲取當前工作目錄
os.chdir('dirname')) #改變當前指令碼工作目錄
os.curdir #返回當前目錄
os.pardir #返回當前目錄的父目字串名錄
os.makedirs('dirname1/dirname2') #生成多遞迴目錄
os.removedirs('dirname1') #若目錄為空,則刪除,並遞迴到上一層目錄,如也為空,則刪除
os.mkdir('dirname') #生成單級目錄
os.rmdir('dirname') #刪除單級目錄
os.listdir('dirname') #列出當前目錄下的所有檔案和子目錄
os.remove() #刪除一個檔案
os.rename('oldname','newname') #給檔案重新命名
os.stat('path/filename') #獲取目錄/檔案資訊
#上面這個說一下,如果我們獲取了檔案資訊,那麼我們就要從資訊中得到我們想要的
os.stat_result(st_mode=33206, st_ino=1688849860273573, st_dev=205036670, st_nlink=1, st_uid=0, st_gid=0, st_size=307, st_atime=1541679532, st_mtime=1541938638, st_ctime=1541679532)
#上面這些是我獲取我自己的檔案得到的資訊,st_size表示檔案為多少位元組,st_atime表示檔案最後存取時間,st_mtime表示最後修改時間
os.sep #輸出作業系統特定的路徑分隔符
os.linesep #輸出當前平臺使用的行終止符
os.pathsep #輸出用於分割檔案路徑的字串
os.name #輸出字串指示當前使用平臺
os.system('bash command') #執行shell命令
os.environ #獲取系統環境變數
os.path.abspath(path) #返回path規範化的絕對路徑
os.path.split(path) #將path分割成目錄和檔名二元組返回
os.path.dirname(path) #返回path的目錄
os.path.basename(path) #返回path最後的檔名
os.path.exists(path) #如果path存在,返回Ture,反之,返回False
os.path.isabs(path) #判斷path是否為絕對路徑
os.path.isfile(path) #判斷path是否是一個存在的檔案
os.path.isdir(path) #判斷path是否是一個存在的目錄
os.path.join(path[,path2[,...]]) #
os.path.getatime(path) #返回path所指向的檔案或目錄的最後存取時間
os.path.getmtime(path) #返回path所指向的檔案或者目錄的最後修改時間