常用模塊一
阿新 • • 發佈:2018-08-20
分鐘 gif 一級目錄 aca remove one local 命令行參數 轉換成 randint(n,m):n~m之間隨機的整數,隨機選一個返回
View Code
View Code
random模塊
random():隨機0~1間的小數,隨機選一個返回
import random #隨機小數 print(random.random()) >>> 0.6314339456787584 # 大於0且小於1之間的小數,View Code
uniform(n,m):n~m之間隨機的小數,隨機選一個返回
import random print(random.uniform(2,8)) >>> 5.872738210315412 # 大於2且小於8之間的小數View Code
randint(n,m):n~m之間隨機的整數,隨機選一個返回
import random print(random.randint(3,6)) >>> 6 #大於等於3且小於等於6之間的整數View Code
randrange(n,m,c):n~m之間隔c個數的隨機整數,隨機選一個返回
import random print(random.randrange(1,10,2)) >>> 5 #大於等於1且小於10之間的奇數View Code
choice(參數):隨機選擇參數中一個返回
print(random.choice([1,23,[89,56]])) >>> 23
sample(組合):隨機選擇多個返回,返回的個數為函數的第二個參數
print(random.sample([1,‘23‘,[4,5]],3)) >>>[‘23‘, [4, 5], 1]# 列表元素任意3個組合View Code
shushuffle(參數):打亂參數中的次數
lst = [23,56,89,2,36,8] random.shuffle(lst) # 隨機打亂列表的順序,在原來的列表打亂,不會生成新列表, print(lst) >>>[8, 36, 2, 89, 23, 56]
import random def v_code(): code = ‘‘ for i in range(5): num=random.randint(0,9) alf=chr(random.randint(65,90)) add=random.choice([num,alf]) code="".join([code,str(add)]) return code print(v_code()) 生成驗證碼練習,生成隨機驗證碼
time模塊
1.1 時間戳
時間戳表示是從倫敦的1970年1月1日00:00:00開始按秒計算的偏移量,是一個float類型的數據
import time print(time.time()) >>> 1534752837.5641727 #此刻我運行的時候的偏移量 print(type(time.time())) >>> <class ‘float‘>View Code
1.2 格式化的時間字符串
類似於"1992-12-06"或"1992\12\06"的字符串
%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 當前時區的名稱 %% %號本身 python中時間日期格式化符號:View Code
1.3 元組(struct_time)
共有9個元素(年,月,日,時,分,秒,一年中第幾周,一年中第幾天,是否是夏令時)
索引(Index) | 屬性(Attribute) | 值(Values) |
---|---|---|
0 | tm_year(年) | 比如2011 |
1 | tm_mon(月) | 1 - 12 |
2 | tm_mday(日) | 1 - 31 |
3 | tm_hour(時) | 0 - 23 |
4 | tm_min(分) | 0 - 59 |
5 | tm_sec(秒) | 0 - 60 |
6 | tm_wday(weekday) | 0 - 6(0表示周一) |
7 | tm_yday(一年中的第幾天) | 1 - 366 |
8 | tm_isdst(是否是夏令時) | 默認為0 |
#時間元組:localtime將一個時間戳轉換為當前時區的struct_time print(time.localtime()) >>> time.struct_time(tm_year=2018, tm_mon=8, tm_mday=20, tm_hour=16, tm_min=49, tm_sec=30, tm_wday=0, tm_yday=232, tm_isdst=0)View Code
總結:時間戳是計算機能夠識別的時間,給機器看的;時間字符串是給人看的;元組則是用來操作時間的
格式之間的轉換
import time #time.gmtime(時間戳) print(time.gmtime()) #UTC時間,與英國倫敦當地時間一致 >>> time.struct_time(tm_year=2018, tm_mon=8, tm_mday=20, tm_hour=9, tm_min=13, tm_sec=29, tm_wday=0, tm_yday=232, tm_isdst=0) print(time.localtime()) #當地時間,北京時間與UTC時間相差8(按當地所在的時區比較)小時 >>> time.struct_time(tm_year=2018, tm_mon=8, tm_mday=20, tm_hour=17, tm_min=13, tm_sec=29, tm_wday=0, tm_yday=232, tm_isdst=0 #結構化時間 ==>時間戳 #time.mktime(結構化時間) time_tuple = time.localtime() print(time.mktime(time_tuple)) >>> 1534756657.0
#結構化時間 ==> 字符串時間 print(time.strftime(‘%Y-%m-%d %X‘)) #當前格式化時間字符串 #time.strftime(‘%Y-%m-%d‘,time.localtime(具體時間戳)) print(time.strftime(‘%Y-%m-%d‘,time.localtime(1600000000))) # 將時間戳轉換成格式化時間字符串 >>>2020-09-13 #字符串時間 ==> 結構化時間 #time.strptime(時間字符串,字符串對應格式) >>>time.strptime("2017-03-16","%Y-%m-%d") time.struct_time(tm_year=2017, tm_mon=3, tm_mday=16, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=75, tm_isdst=-1) >>>time.strptime("07/24/2017","%m/%d/%Y") time.struct_time(tm_year=2017, tm_mon=7, tm_mday=24, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=205, tm_isdst=-1)
#結構化時間 --> %a %b %d %H:%M:%S %Y串 #time.asctime(結構化時間) 如果不傳參數,直接返回當前時間的格式化串 >>>time.asctime(time.localtime(1500000000)) ‘Fri Jul 14 10:40:00 2017‘ >>>time.asctime() ‘Mon Jul 24 15:18:33 2017‘ #時間戳 --> %a %b %d %H:%M:%S %Y串 #time.ctime(時間戳) 如果不傳參數,直接返回當前時間的格式化串 >>>time.ctime() ‘Mon Jul 24 15:19:07 2017‘ >>>time.ctime(1500000000) ‘Fri Jul 14 10:40:00 2017‘
import time true_time=time.mktime(time.strptime(‘2018-01-01 00:00:00‘,‘%Y-%m-%d %H:%M:%S‘)) time_now = time.mktime(time.strptime(‘2018-08-20 17:30:00‘,‘%Y-%m-%d %H:%M:%S‘)) dif_time = time_now - true_time struct_time=time.gmtime(dif_time) print(‘過去了%d年%d月%d天%d小時%d分鐘%d秒‘%(struct_time.tm_year-1970,struct_time.tm_mon-1, struct_time.tm_mday-1,struct_time.tm_hour, struct_time.tm_min,struct_time.tm_sec)) >>> 過去了0年7月19天17小時30分鐘0秒練習 計算時間差
sys模塊
sys模塊是與python解釋器交互的一個接口
sys.argv 命令行參數List,第一個元素是程序本身路徑 sys.exit(n) 退出程序,正常退出時exit(0),錯誤退出sys.exit(1) sys.version 獲取Python解釋程序的版本信息 sys.path 返回模塊的搜索路徑,初始化時使用PYTHONPATH環境變量的值 sys.platform 返回操作系統平臺名稱
import sys try: sys.exit(1) except SystemExit as e: print(e)異常處理和status
os模塊
os.makedirs(‘file_name/file_name1‘):生成多層遞歸目錄,file_name文件夾下有個file_name1
import os os.makedirs(‘阿裏巴巴/淘寶‘) >>> #生成兩個文件 阿裏巴巴文件夾下有個淘寶文件View Code
os.removedirs(‘file_name/file_name1‘):刪除,前提目錄得是空的,並遞歸到上一級目錄,如若也為空,則刪除,以此類推
os.removedirs(‘阿裏巴巴/淘寶‘) >>> 因為‘淘寶‘文件是空的,可以刪除,刪除後,‘阿裏巴巴‘也變成了空,所以‘阿裏巴巴‘也可以刪除了View Code
os.mkdir(‘file_name‘):生成單級目錄,相當於shell中的mkdir dirname
os.mkdir(‘file_name‘) >>> 生成了一個file_name空文件夾View Code
os.rmdir(‘file_name‘):刪除單級目錄,前提該目錄為空,否則報錯,相當於shell中的rmdir dirname
os.rmdir(‘file_name‘) >>> 刪除了一個名為‘file_name‘的空文件夾View Code
常用模塊一