1. 程式人生 > >模塊( collections , time , random , os , sys)

模塊( collections , time , random , os , sys)

remove rand 添加 move lec point dna 路徑 argv

認識模塊: 一條代碼 < 語句塊 < 代碼塊(函數, 類) < 模塊.

collections (克萊克森斯)

1. Counter  #用來查看字符出現的次數.
s = "upup qwe" print(Counter(s))

隊列: FI FO. 先進先出 棧: FI LO. 先進後出

2.deque(雙向隊列)
from collections import deque
s = deque()
s.append("娃哈哈")
s.append("營養快線")
s.appendleft("爽歪歪") # 左側添加
print(s)
print(s.pop())  
print(s.popleft()) #左側刪除
3.namedtuple (命名元組)
# from collections import namedtuple
# nt = namedtuple("point", ["x", "y"])
# p = nt(1, 2)
# print(p)
# print(p.x)
# print(p.y)

time 時間模塊

python中時間分成三種表現形式:

1. 時間戳(timestamp)

import time
print(time.time())

2. 格式化時間(strftime)

import time
s = time.strftime("%Y-%m-%d %H:%M:%S") print(s)

3. 結構化時間(struct_time)

print(time.localtime())
結果: time.struct_time(tm_year=2017, tm_mon=05, tm_mday=8, tm_hour=10, tm_min=24, tm_sec=42, tm_wday=0, tm_yday=126, tm_isdst=0)
所有的轉化都要通過結構化時間來轉化.

random 隨機數模塊

import random
print(random.random())  # 0-1小數 
print(random.uniform(3,10)) 3-10小數 
print(random.randint(1,10)) 1-10整數
print(random.randrange(1,10,2)) 1-10奇數 
print(random.choice([1, 周傑倫‘, ["蓋倫", "胡辣湯"]]))1或者23或者[4,5]) 
print(random.sample([1, 23‘, [4, 5]], 2)) 列表元素任意2個組合 
random.shuffle(lst)  # 隨機打亂順序

os 和操作系統相關的模塊

import os
os.makedirs(a/b/c/d) 創建多層
os.removedirs(dirname1)刪除
os.mkdir(dirname)創建單層
os.rmdir(dirname)刪除單層
os.rename("oldname","newname")重新命名
os.getcwd()獲取當前?作目錄

sys 和python解釋器相關的模塊

sys.argv           命令行參數List,第一個元素是程序本身路徑
sys.exit(n)        退出程序,正常退出時exit(0),錯誤退出sys.exit(1)
sys.version        獲取Python解釋程序的版本信息 
sys.path           返回模塊的搜索路徑,初始化時使?PYTHONPATH環境變量的值 sys.platform       返回操作系統平臺名稱

模塊( collections , time , random , os , sys)