16-Python-常用模塊
阿新 • • 發佈:2017-12-08
處理器 轉換 python代碼 格式 har 常用模塊 別名 操作 orm
1、模塊的定義
模塊:用來從邏輯上組織python代碼(變量、函數、類、邏輯:實現一個功能),本質就是.py文件(例如文件名:test.py,對應的模塊名則為test)。
包:用來從邏輯上組織模塊,本質就是一個目錄(必須帶有一個__init__.py文件)
import模塊的本質:導入模塊的本質就是把python文件解釋一遍。
import包的本質:導入包的本質就是解釋包下面的__init__.py文件。
1 import module_druid # 實質是把module_druid中的所有代碼都解釋了(當前程序中執行)一便,然後賦值給了module_druid。 2 3 print(module_druid.name) # 調用模塊中變量的方法。該方法需要加模塊名名。 4 5 module_druid.func1() # 調用模塊中的方法 6 7 print("華麗的分隔符".center(30, "~")) 8 9 from module_druid import name, func1 # 實質僅是把module_druid模塊中的name變量,func1()放到當前程序中執行,而不是全部。 10 11 print(name) # 該方法不需要再加模塊名 12 func1() # 該方法不需要再加模塊名 13 14 print("華麗的分隔符".center(30, "~")) 15 16 from module_druid import * # 導入模塊中所有的代碼,在當前程序中執行。不建議這麽使用,因為如果友重復的方法,會導致當前方法覆蓋導入模塊的方法。 17 18 from module_druid import func2 as druid_func2 # 取別名,避免重復 19 druid_func2() 20 21 print("華麗的分隔符".center(30, "~"))
2、time、datetime模塊
2.1、 模塊的語法
1 import time 2 3 4 print(time.clock()) #返回處理器時間,3.3開始已廢棄 , 改成了time.process_time()測量處理器運算時間,不包括sleep時間,不穩定,mac上測不出來 5 print(time.altzone) # 返回與utc時間的時間差,以秒計算\ 6 print(time.asctime()) # 返回時間格式"Fri Aug 19 11:14:16 2016", 7 print(time.localtime()) # 返回本地時間 的struct time對象格式 8 print(time.gmtime(time.time()-800000)) # 返回utc時間的struc時間對象格式 9 10 print(time.asctime(time.localtime())) # 返回時間格式"Fri Aug 19 11:14:16 2016", 11 print(time.ctime()) # 返回Fri Aug 19 12:38:29 2016 格式, 同上 12 13 14 # 日期字符串 轉成 時間戳 15 string_2_struct = time.strptime("2016/05/22", "%Y/%m/%d") # 將日期字符串 轉成 struct時間對象格式 16 print(string_2_struct) 17 18 struct_2_stamp = time.mktime(string_2_struct) # 將struct時間對象轉成時間戳 19 print(struct_2_stamp) 20 21 22 # 將時間戳轉為字符串格式 23 print(time.gmtime(time.time()-86640)) # 將utc時間戳轉換成struct_time格式 24 print(time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime())) # 將utc struct_time格式轉成指定的字符串格式 25 26 27 #時間加減 28 import datetime 29 30 print(datetime.datetime.now()) # 返回 2016-08-19 12:47:03.941925 31 print(datetime.date.fromtimestamp(time.time())) # 時間戳直接轉成日期格式 2016-08-19 32 print(datetime.datetime.now()) 33 print(datetime.datetime.now() + datetime.timedelta(3)) # 當前時間+3天 34 print(datetime.datetime.now() + datetime.timedelta(-3)) # 當前時間-3天 35 print(datetime.datetime.now() + datetime.timedelta(hours=3)) # 當前時間+3小時 36 print(datetime.datetime.now() + datetime.timedelta(minutes=30)) # 當前時間+30分 37 38 39 c_time = datetime.datetime.now() 40 print(c_time.replace(minute=3, hour=2)) # 時間替換
2.2、 參數解釋
Directive | Meaning | Notes |
---|---|---|
%a |
Locale’s abbreviated weekday name. | |
%A |
Locale’s full weekday name. | |
%b |
Locale’s abbreviated month name. | |
%B |
Locale’s full month name. | |
%c |
Locale’s appropriate date and time representation. | |
%d |
Day of the month as a decimal number [01,31]. | |
%H |
Hour (24-hour clock) as a decimal number [00,23]. | |
%I |
Hour (12-hour clock) as a decimal number [01,12]. | |
%j |
Day of the year as a decimal number [001,366]. | |
%m |
Month as a decimal number [01,12]. | |
%M |
Minute as a decimal number [00,59]. | |
%p |
Locale’s equivalent of either AM or PM. | (1) |
%S |
Second as a decimal number [00,61]. | (2) |
%U |
Week number of the year (Sunday as the first day of the week) as a decimal number [00,53]. All days in a new year preceding the first Sunday are considered to be in week 0. | (3) |
%w |
Weekday as a decimal number [0(Sunday),6]. | |
%W |
Week number of the year (Monday as the first day of the week) as a decimal number [00,53]. All days in a new year preceding the first Monday are considered to be in week 0. | (3) |
%x |
Locale’s appropriate date representation. | |
%X |
Locale’s appropriate time representation. | |
%y |
Year without century as a decimal number [00,99]. | |
%Y |
Year with century as a decimal number. | |
%z |
Time zone offset indicating a positive or negative time difference from UTC/GMT of the form +HHMM or -HHMM, where H represents decimal hour digits and M represents decimal minute digits [-23:59, +23:59]. | |
%Z |
Time zone name (no characters if no time zone exists). | |
%% |
A literal ‘%‘ character. |
2.3、 時間格式之間的轉換
1 import time 2 # --------------------------按圖1轉換時間 3 # localtime([secs]) 4 # 將一個時間戳轉換為當前時區的struct_time。secs參數未提供,則以當前時間為準。 5 time.localtime() 6 time.localtime(1473525444.037215) 7 8 # gmtime([secs]) 和localtime()方法類似,gmtime()方法是將一個時間戳轉換為UTC時區(0時區)的struct_time。 9 10 # mktime(t) : 將一個struct_time轉化為時間戳。 11 print(time.mktime(time.localtime()))#1473525749.0 12 13 14 # strftime(format[, t]) : 把一個代表時間的元組或者struct_time(如由time.localtime()和 15 # time.gmtime()返回)轉化為格式化的時間字符串。如果t未指定,將傳入time.localtime()。如果元組中任何一個 16 # 元素越界,ValueError的錯誤將會被拋出。 17 print(time.strftime("%Y-%m-%d %X", time.localtime()))#2016-09-11 00:49:56 18 19 # time.strptime(string[, format]) 20 # 把一個格式化時間字符串轉化為struct_time。實際上它和strftime()是逆操作。 21 print(time.strptime(‘2011-05-05 16:37:06‘, ‘%Y-%m-%d %X‘)) 22 # time.struct_time(tm_year=2011, tm_mon=5, tm_mday=5, tm_hour=16, tm_min=37, tm_sec=6, 23 # tm_wday=3, tm_yday=125, tm_isdst=-1) 24 # 在這個函數中,format默認為:"%a %b %d %H:%M:%S %Y"。
16-Python-常用模塊