1. 程式人生 > >常用內建模組

常用內建模組

什麼是模組?

模組就是已經寫好,包含了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無此問題