1. collections模組
1.1 namedtuple
生成可以使用名字來訪問元素內容的tuple。
#乙個點的二維座標就可以表示成:
from collections import namedtuple
point = namedtuple('point', ['x', 'y'])
p = point(1, 2)
print(p.x)
#輸出:1
print(p.y)
#輸出:2
1.2 deque
雙端佇列,可以快速的從另外一側追加和推出物件。
from collections import deque
q = deque(['a', 'b', 'c'])
print(q)
#輸出:deque(['y', 'a', 'b', 'c', 'x'])
1.3 ordereddict
有序字典
dict中的key按順序排列。
from collections import ordereddict
d = dict([('a', 1), ('b', 2), ('c', 3)])
print(d) # dict的key是無序的
#輸出:
od = ordereddict([('a', 1), ('b', 2), ('c', 3)])
print(od) # ordereddict的key是有序的
#輸出:ordereddict([('a', 1), ('b', 2), ('c', 3)])
#注意,ordereddict的key會按照插入的順序排列,不是key本身排序。
1.4 defaultdict
帶有預設值的字典。
#有如下值集合 [11,22,33,44,55,66,77,88,99,90...],將所有大於 66 的值儲存至字典的第乙個key中,
#將小於 66 的值儲存至第二個key的值中。
#dict用法
values = [11, 22, 33,44,55,66,77,88,99,90]
my_dict = {}
for value in values:
if value>66:
if my_dict.has_key('k1'):
else:
my_dict['k1'] = [value]
else:
if my_dict.has_key('k2'):
else:
my_dict['k2'] = [value]
#defaultdict字典解決方法
from collections import defaultdict
values = [11, 22, 33,44,55,66,77,88,99,90]
my_dict = defaultdict(list)
for value in values:
if value>66:
else:
#使用dict時,如果引用的key不存在,就會丟擲keyerror。如果希望key不存在時,返回乙個預設值,就可以
#用defaultdict
from collections import defaultdict
dd = defaultdict(lambda: 'n/a')
dd['key1'] = 'abc'
print(dd['key1']) # key1存在
#輸出:'abc'
peint(dd['key2']) # key2不存在,返回預設值
#輸出:'n/a'
1.5 counter
計數器,主要用來計數。
counter類的目的是用來跟蹤值出現的次數。它是乙個無序的容器型別,以字典的鍵值對形式儲存,其中元素作為key,其計數作為value。
c = counter('abcdeabcdabcaba')
print c
#輸出:counter()
2. time、datetime
3.random模組
4. os模組
os模組是與作業系統互動的乙個介面。
os.makedirs('dirname1/dirname2') 可生成多層遞迴目錄
os.removedirs('dirname1') 若目錄為空,則刪除,並遞迴到上一級目錄,如若也為空,則刪除,依此類推
os.mkdir('dirname') 生成單級目錄;相當於shell中mkdir dirname
os.rmdir('dirname') 刪除單級空目錄,若目錄不為空則無法刪除,報錯;相當於shell中rmdir dirname
os.listdir('dirname') 列出指定目錄下的所有檔案和子目錄,包括隱藏檔案,並以列表方式列印
os.remove() 刪除乙個檔案
os.rename("oldname","newname") 重新命名檔案/目錄
os.stat('path/filename') 獲取檔案/目錄資訊
os.system("bash command") 執行shell命令,直接顯示
os.popen("bash command).read() 執行shell命令,獲取執行結果
os.getcwd() 獲取當前工作目錄,即當前python指令碼工作的目錄路徑
os.chdir("dirname") 改變當前指令碼工作目錄;相當於shell下cd
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的大小
5. sys模組
6. 序列化模組
7. re模組
8. hashlib模組
9. configparser模組
10. logging模組
python 常用模組
1.告訴直譯器 找模組 import sysunix要絕度路徑 只有第一次匯入執行。name main 2.當做包,必須包含乙個命名為 init py的檔案 模組 3.dir看模組裡有什麼 下劃線開始,不是給模組外部用的。過濾 import copy n for n in dir copy if n...
python常用模組
logging 日誌是我們排查問題的關鍵利器,寫好日誌記錄,當我們發生問題時,可以快速定位 範圍進行修改 logging將日誌列印到螢幕,日誌級別大小關係為 critical error warning info debug notset,當然也可以自己定義日誌級別 預設logging預設的日誌級別...
python常用模組
collections提供了幾個便於使用的資料型別。1 namedtuple 這個資料型別生成可以使用呼叫屬性的方法來訪問元素內容的元祖 import collections cc collections.namedtuple sha x y get cc 1,2 print get.x,get.y...