time 模塊
1 >>> import time2 >>> time.time()3 1491064723.8086694 >>> # time.time()返回當前時間的時間戳timestamp(定義為從格林威治時間1970年01月01日00時00分00秒起至現在的總秒數)的方法,無參數5 >>> time.asctime()6 'Sun Apr 2 00:39:32 2017'7 >>> # time.asctime()把struct_time對象格式轉換為字符串格式為'Sun Apr 2 00:39:32 2017'8 >>> time.asctime(time.gmtime())9 'Sat Apr 1 16:41:41 2017' 10 >>> time.asctime(time.localtime()) 11 'Sun Apr 2 00:42:06 2017' 12 >>> time.ctime() 13 'Sun Apr 2 00:42:29 2017' 14 >>> # time.ctime()把時間戳轉換為字符串格式'Sun Apr 2 00:42:29 2017',默認為當前時間戳 15 >>> time.ctime(1491064723.808669) 16 'Sun Apr 2 00:38:43 2017' 17 >>> time.altzone # 返回與utc時間的時間差,以秒計算 18 -32400 19 >>> time.localtime() # 把時間戳轉換為struct_time對象格式,默認返回當前時間戳 20 time.struct_time(tm_year=2017, tm_mon=4, tm_mday=2, tm_hour=0, tm_min=45, tm_sec=26, tm_wday=6, tm_yday=92, tm_isdst=0) 21 >>> time.localtime(1491064723.808669) 22 time.struct_time(tm_year=2017, tm_mon=4, tm_mday=2, tm_hour=0, tm_min=38, tm_sec=43, tm_wday=6, tm_yday=92, tm_isdst=0) 23 >>> 24 >>> time.gmtime() # 將utc時間戳轉換成struct_time對象格式,默認返回當前時間的 25 time.struct_time(tm_year=2017, tm_mon=4, tm_mday=1, tm_hour=16, tm_min=46, tm_sec=32, tm_wday=5, tm_yday=91, tm_isdst=0) 26 >>> time.gmtime(1491064723.808669) 27 time.struct_time(tm_year=2017, tm_mon=4, tm_mday=1, tm_hour=16, tm_min=38, tm_sec=43, tm_wday=5, tm_yday=91, tm_isdst=0) 28 >>> 29 >>> 30 >>> time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()) # 將本地時間的struct_time格式轉成自定義字符串格式 2017-04-01 23:15:47 31 '2017-04-02 00:47:49' 32 >>> 33 >>> time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime()) # 將utc時間的struct_time格式轉成自定義字符串格式 2017-04-01 23:15:47 34 '2017-04-01 16:48:27' 35 >>> 36 >>> time.strptime('2017-04-02 00:47:49', '%Y-%m-%d %H:%M:%S') # 將 日期字符串 轉成 struct_time時間對象格式,注意轉換后的tm_isdst=-1()夏令時狀態 37 time.struct_time(tm_year=2017, tm_mon=4, tm_mday=2, tm_hour=0, tm_min=47, tm_sec=49, tm_wday=6, tm_yday=92, tm_isdst=-1) 38 >>> 39 >>> time.mktime(time.localtime()) 40 1491065416.0 41 >>> # 將struct_tiame時間對象轉成時間戳 結果返回1491061855.0 ,忽略小于秒的時間(忽略小數點后面) 42 >>> 43 >>> time.mktime(time.localtime(1491061855.0011407)) 44 1491061855.0 45 >>> # 結果返回1491061855.0 ,忽略小于秒的時間(忽略小數點后面) 46 >>> 47 >>> time.mktime(time.gmtime(1491061855.0011407)) 48 1491033055.0 49 >>> 50 >>> # 結果返回1491033055.0 ,忽略小于秒的時間(忽略小數點后面) 51 >>>
?
?時間轉換關系圖
?
格式字符及意義
%a 星期的簡寫。如 星期三為Web
%A 星期的全寫。如 星期三為Wednesday
%b 月份的簡寫。如4月份為Apr
%B月份的全寫。如4月份為April?
%c:? 日期時間的字符串表示。(如: 04/07/10 10:43:39)
%d:? 日在這個月中的天數(是這個月的第幾天)
%f:? 微秒(范圍[0,999999])
%H:? 小時(24小時制,[0, 23])
%I:? 小時(12小時制,[0, 11])
%j:? 日在年中的天數 [001,366](是當年的第幾天)
%m:? 月份([01,12])
%M:? 分鐘([00,59])
%p:? AM或者PM
%S:? 秒(范圍為[00,61],為什么不是[00, 59],參考python手冊~_~)
%U:? 周在當年的周數當年的第幾周),星期天作為周的第一天
%w:? 今天在這周的天數,范圍為[0, 6],6表示星期天
%W:? 周在當年的周數(是當年的第幾周),星期一作為周的第一天
%x:? 日期字符串(如:04/07/10)
%X:? 時間字符串(如:10:43:39)
%y:? 2個數字表示的年份
%Y:? 4個數字表示的年份
%z:? 與utc時間的間隔 (如果是本地時間,返回空字符串)
%Z:? 時區名稱(如果是本地時間,返回空字符串)
?
datetime模塊,方便時間計算
1 >>> import datetime 2 >>> datetime.datetime.now() 3 datetime.datetime(2017, 4, 7, 16, 52, 3, 199458) 4 # 返回一組數據(年,月,日,小時,分鐘,秒,微秒) 5 6 >>> print(datetime.datetime.now()) 7 2017-04-07 16:52:55.000164 8 # 打印返回格式(固定) 9 10 >>> datetime.datetime.now()+datetime.timedelta(days=3) 11 datetime.datetime(2017, 4, 10, 16, 53, 51, 180847) 12 # 時間加(減),可以是日,秒,微秒,毫秒,分,小時,周 13 #days=0, seconds=0, microseconds=0,milliseconds=0, minutes=0, hours=0, weeks=0 14 >>> print(datetime.datetime.now()+datetime.timedelta(weeks=1)) 15 2017-04-17 16:54:08.916243 16 17 >>> datetime.datetime.now().replace(minute=3,hour=2) 18 datetime.datetime(2017, 4, 7, 2, 3, 11, 163663) 19 # 時間替換 20 21 >>> datetime.datetime.now() 22 datetime.datetime(2017, 4, 7, 16, 58, 22, 195439) 23 24 >>> datetime.datetime.now().replace(day=1,month=1) 25 datetime.datetime(2017, 1, 1, 16, 59, 13, 210556) 26 >>> 27 # 直接替換相應位置數據
?
random模塊
import random >>> print(random.random()) 0.5364503211492734 >>> print(random.randint(1,10)) 3 >>> # 整數1-10(包括10),隨機取一個值 >>> >>> >>> >>> print(random.randrange(1, 10)) 8 >>> # 整數1-10(不包括10),隨機取一個值
?
1 import random 2 3 checkcode = '' 4 for i in range(6): 5 current = random.randrange(0, 6) 6 if current != i and current+1 != i: 7 temp = chr(random.randint(65, 90)) 8 # 65-90是A-Z 9 elif current+1 == i: 10 temp = chr(random.randint(97, 122)) 11 # 97-122是a-z 12 else: 13 temp = random.randint(0, 9) 14 checkcode += str(temp) 15 print(checkcode) 16 17 # 一共6位驗證碼, 18 # 第一位有1/6幾率是數字,其它都是大寫字母 19 # 第二到第六位,都是有1/6幾率是小寫字母,1/6幾率是數字,其它都是大寫字母
?
?
OS模塊
提供對操作系統進行調用的接口
1 os.getcwd() 獲取當前工作目錄,即當前python腳本工作的目錄路徑 2 os.chdir("dirname") 改變當前腳本工作目錄;相當于shell下cd 3 os.curdir 返回當前目錄: ('.') 4 os.pardir 獲取當前目錄的父目錄字符串名:('..') 5 os.makedirs('dirname1/dirname2') 可生成多層遞歸目錄 6 os.removedirs('dirname1') 若目錄為空,則刪除,并遞歸到上一級目錄,如若也為空,則刪除,依此類推 7 os.mkdir('dirname') 生成單級目錄;相當于shell中mkdir dirname 8 os.rmdir('dirname') 刪除單級空目錄,若目錄不為空則無法刪除,報錯;相當于shell中rmdir dirname 9 os.listdir('dirname') 列出指定目錄下的所有文件和子目錄,包括隱藏文件,并以列表方式打印 10 os.remove() 刪除一個文件 11 os.rename("oldname","newname") 重命名文件/目錄 12 os.stat('path/filename') 獲取文件/目錄信息 13 os.sep 輸出操作系統特定的路徑分隔符,win下為"\\",Linux下為"/" 14 os.linesep 輸出當前平臺使用的行終止符,win下為"\t\n",Linux下為"\n" 15 os.pathsep 輸出用于分割文件路徑的字符串 16 os.name 輸出字符串指示當前使用平臺。win->'nt'; Linux->'posix' 17 os.system("bash command") 運行shell命令,直接顯示 18 os.environ 獲取系統環境變量 19 os.path.abspath(path) 返回path規范化的絕對路徑 20 os.path.split(path) 將path分割成目錄和文件名二元組返回 21 os.path.dirname(path) 返回path的目錄。其實就是os.path.split(path)的第一個元素 22 os.path.basename(path) 返回path最后的文件名。如何path以/或\結尾,那么就會返回空值。即os.path.split(path)的第二個元素 23 os.path.exists(path) 如果path存在,返回True;如果path不存在,返回False 24 os.path.isabs(path) 如果path是絕對路徑,返回True 25 os.path.isfile(path) 如果path是一個存在的文件,返回True。否則返回False 26 os.path.isdir(path) 如果path是一個存在的目錄,則返回True。否則返回False 27 os.path.join(path1[, path2[, ...]]) 將多個路徑組合后返回,第一個絕對路徑之前的參數將被忽略 28 os.path.getatime(path) 返回path所指向的文件或者目錄的最后存取時間 29 os.path.getmtime(path) 返回path所指向的文件或者目錄的最后修改時間
?
?
sys模塊
用于提供對解釋器相關的操作
1 sys.argv 命令行參數List,第一個元素是程序本身路徑 2 sys.exit(n) 退出程序,正常退出時exit(0) 3 sys.version 獲取Python解釋程序的版本信息 4 sys.maxint 最大的Int值 5 sys.path 返回模塊的搜索路徑,初始化時使用PYTHONPATH環境變量的值 6 sys.platform 返回操作系統平臺名稱 7 sys.stdout.write('please:') 8 val = sys.stdin.readline()[:-1]
?
datetime模塊
1 print(datetime.datetime.today()) #獲取當前時間,到秒 2 print(datetime.datetime.now()) #和today一樣 3 4 res = datetime.datetime.today().strftime('%Y-%m-%d') #格式化好的時間 5 print(res) 6 7 res= datetime.datetime.today()+datetime.timedelta(-3) #3天前的時間 8 res= datetime.datetime.today()+datetime.timedelta(3) #3天后的時間 9 print(res) 10 11 print(datetime.date.today()) #去當天的日期,只是日期
?