常用內建模組
什麼是模組?
模組就是已經寫好,包含了python定義和宣告的檔案.
模組分為內建模組,第三方模組和自定義模組,
使用模組中的內容需要提前使用import匯入模組,使用方法為import 模組名
或者 from 模組名 import 函式名
使用第一種方法時,使用模組中的函式為模組名.函式名
使用第二種方法時,直接使用函式名即可
常用內建模組有:
time(時間模組):主要與時間相關
時間戳: 時間戳是從格林威治時間(0時區)1970年1月1日0時0分0秒至現在為止的總秒數,型別為float
結構化時間: 將時間資訊儲存在元組中,型別為tuple
格式化時間: 將時間按指定格式返回,型別為str
時間戳----->結構化時間:
time.localtime([t]):將時間戳轉換為當地的結構化時間,如果無引數,則返回現在當地結構化時間
time.gmtime([t]):將時間戳轉換為格林威治的結構化時間,如果無引數,則返回現在格林威治結構化時間
結構化時間----->格式化時間:
time.strftime(fmt,t) 按指定格式返回引數時間的格式化時間,若無t引數,則返回當前當地格式化時間
格式化時間相關的格式化符號:
%y 兩位數的年份表示(00-99) %Y 四位數的年份表示(000-9999) %m 月份(01-12) %d 月內中的一天(0-31) %H 24小時制小時數(0-23) %I 12小時制小時數(01-12) %M 分鐘數(00=59) %S 秒(00-59) %a 本地簡化星期名稱 %A 本地完整星期名稱 %b 本地簡化的月份名稱 %B 本地完整的月份名稱 %c 本地相應的日期表示和時間表示 %j 年內的一天(001-366) %p 本地A.M.或P.M.的等價符 %U 一年中的星期數(00-53)星期天為星期的開始 %w 星期(0-6),星期天為星期的開始 %W 一年中的星期數(00-53)星期一為星期的開始 %x 本地相應的日期表示 %X 本地相應的時間表示 %Z 當前時區的名稱
格式化時間----->結構化時間:
time.strptime(t.fmt):按格式將格式化時間轉換為結構化時間
結構化時間----->時間戳:
time.mktime(t):將結構化時間轉換為時間戳
結構化時間 --> %a %b %d %H:%M:%S %Y格式化時間
time.ctime(t):按以上格式將結構化時間轉換為格式化時間
時間戳 --> %a %b %d %H:%M:%S %Y串
按以上格式將時間戳轉換為格式化時間
其他:time.time() 獲得當前時間戳
time.sleep(sec):阻塞sec秒
random(隨機模組):主要與隨機數相關
random.random():返回一個0-1之間的隨機浮點數
random.uniform(n,m):返回一個n-m之間的隨機浮點數
random.randint(n,m):返回一個n-m之間的隨機整數
random.randrange(n,m,l):從range(n,m,l)中隨機返回一個整數
random.choice(lst):從lst中隨機選一個元素返回
random.sample(lst,n):從lst中隨機選n個元素返回,格式為列表
random.shuffle(lst):打亂lst的順序
os模組:主要與系統的操作相關
os.remove(path):刪除檔案
os.rename(oldname,newname):重新命名檔案
os.rmdir(dirname):刪除資料夾
os.mkdir(dirname):新建資料夾
os.removedirs(dirname): 若目錄為空,則刪除,並遞迴到上一級目錄,如若也為空,則刪除,依此類推
os.makedirs(dirname):生成多層遞迴目錄
os.listdir(path):以列表方式返回指定目錄下的所有檔案和子目錄,包括隱藏檔案以列表方式
os.stat(path):獲取檔案/目錄資訊
os.system(bash command):執行shell命令
os.popen(bash command):執行shell命令,返回結果
os.getcwd() 返回當前工作目錄
os.chdir(dirname) 改變當前工作目錄
os.path
os.path.abspath(path) 返回path規範化的絕對路徑
os.path.split(path) 將path分割成目錄和檔名二元組返回
os.path.dirname(path) 返回path的目錄。其實就是os.path.split(path)的第一個元素
os.path.basename(path) 返回path最後的檔名。如何path以/或\結尾,那麼就會返回空值。即os.path.split(path)的第二個元素
os.path.exists(path) 如果path存在,返回True;如果path不存在,返回False
os.path.isabs(path) 如果path是絕對路徑,返回True
os.path.isfile(path) 如果path是一個存在的檔案,返回True。否則返回False
os.path.isdir(path) 如果path是一個存在的目錄,則返回True。否則返回False
os.path.join(path1[, path2[, ...]]) 將多個路徑組合後返回,第一個絕對路徑之前的引數將被忽略
os.path.getatime(path) 返回path所指向的檔案或者目錄的最後訪問時間
os.path.getmtime(path) 返回path所指向的檔案或者目錄的最後修改時間
os.path.getsize(path) 返回path的大小
sys模組:主要與python直譯器相關
sys.argv:命令列引數List,第一個元素是程式本身路徑
sys.path:返回模組的搜尋路徑
sys.version:獲取Python解釋程式的版本資訊
sys.platform:返回作業系統平臺名稱
sys.exit():退出程式,正常退出時exit(0),錯誤退出sys.exit(1)
re模組:主要與正則表示式相關
re.findall(正則,str):返回所有滿足匹配條件的結果,放在列表裡,findall會優先顯示分組中的內容,在括號中加入?:取消優先顯示
re.search(正則,str):函式會在字串內查詢模式匹配,只到找到第一個匹配然後返回一個包含匹配資訊的物件,該物件可以通過呼叫
group方法得到匹配的字串,如果字串沒有匹配,則返回None.
re.match(正則,str):與search基本相同,但match是從字串首開始匹配,相當於加了^
re.split('[ab]', 'abcd') 遇到a或b即分割,結果為 ['', '', 'cd'];如果需要保留a,b,加括號即可
re.sub(正則,str,time):將指定內容替換為str,替換time次
re.subn(正則,str,time):將指定內容替換為str,返回元組(替換的結果,替換了多少次)
re.compile(正則):將正則表示式編譯成為一個正則表示式物件,節省時間
re.finditer(正則,str)):返回一個存放匹配結果的迭代器,使用group方法檢視;節省空間
json模組,pickle模組:主要與序列化相關
json與pickle都是用於序列化的模組,它們各自的優劣在於:
- json幾乎適用於所有的語言,而pickle只適用於python.
- pickle支援python中幾乎所有的資料型別,而json只支援list,dict,str
dumps(args):返回將args序列化後的結果
loads(args):返回將args反序列化後的結果
dump(args,fp):將args序列化後寫入fp控制代碼指定檔案
load(fp):返回檔案中字串反序列化後的結果
注:如果使用json.dump()向一個檔案中寫入多次,則用load讀取會報錯,而pickle無此問題