python常用內建模組------(搬運)
阿新 • • 發佈:2021-01-03
Python常用內建模組
Python常用內建模組
- time模組
- datetime模組
- sys模組
- random模組
- stat模組
- string模組
- math模組
- urllib模組
time模組
有以下幾種方式來表示時間:
- 時間戳
- 格式化的時間字串(時間物件)
- 元組(struct_time)共九個元素,由於python的time模組實現主要呼叫C庫,所以各個平臺可能不同
時間戳(timestamp)的方式:通常來說,時間戳表示的是從1970年1月1日00:00:00開始按秒計算的偏移量,我們執行type(time.time()),返回的就是float型別。
元組(tuple_time)方式:struct_time元組共有9個元素,返回struct_time的函式主要有gmtime(),localtime(),strptime(),下面列出這種方式元組中的幾個元素:
索引(Index) | 屬性Attribute | 值(Values) |
---|---|---|
0 | tm_year(年) | 比如2011 |
1 | tm_mon(月 | 1 - 12 |
2 | tm_day(日) | 1-31 |
3 | tm_hour(時) | 0-23 |
4 | tm_min(分) | 0-59 |
5 | tm_sec(秒) | 0-59 |
6 | tm_wday(星期) | 0 - 6(0表示週日) |
7 | tm_yday(一年中的第幾天) | 1-366 |
8 | tm_isdst(是否是夏令時) | 預設為1 |
時間型別的相互轉換
import time
t = time.time()
s = time.ctime(t) # 時間戳->字串
t1 = time.localtime(t) # 時間戳->元組
t2 = time.mktime(t1) # 元組->時間戳
t3 = time.strftime('%Y-%m-%d %H:%M:%S') # 元組->字串
t4 = time.strptime('2021/1/1', '%Y/%m/%d') # 字串->元組
datetime模組
datetime.date.today() 本地日期物件,(用str函式可得到它的字面表示(2014-03-24))
datetime.date.isoformat(obj) 當前[年-月-日]字串表示(2014-03-24)
datetime.date.fromtimestamp() 返回一個日期物件,引數是時間戳,返回 [年-月-日]
datetime.date.weekday(obj) 返回一個日期物件的星期數,週一是0
datetime.date.isoweekday(obj) 返回一個日期物件的星期數,週一是1
datetime.date.isocalendar(obj) 把日期物件返回一個帶有年月日的元組
datetime物件:
datetime.datetime.today() 返回一個包含本地時間(含微秒數)的datetime物件 2014-03-24 23:31:50.419000
datetime.datetime.now([tz]) 返回指定時區的datetime物件 2014-03-24 23:31:50.419000
datetime.datetime.utcnow() 返回一個零時區的datetime物件
datetime.fromtimestamp(timestamp[,tz]) 按時間戳返回一個datetime物件,可指定時區,可用於strftime轉換為日期表示
datetime.utcfromtimestamp(timestamp) 按時間戳返回一個UTC-datetime物件
datetime.datetime.strptime(‘2014-03-16 12:21:21‘,”%Y-%m-%d %H:%M:%S”) 將字串轉為datetime物件
datetime.datetime.strftime(datetime.datetime.now(), ‘%Y%m%d %H%M%S‘) 將datetime物件轉換為str表示形式
datetime.date.today().timetuple() 轉換為時間戳datetime元組物件,可用於轉換時間戳
datetime.datetime.now().timetuple()
time.mktime(timetupleobj) 將datetime元組物件轉為時間戳
time.time() 當前時間戳
time.localtime
sys模組
sys.argv 命令列引數List,第一個元素是程式本身路徑
sys.path 返回模組的搜尋路徑,初始化時使用PYTHONPATH環境變數的值
sys.modules.keys() 返回所有已經匯入的模組列表
sys.modules 返回系統匯入的模組欄位,key是模組名,value是模組
sys.exc_info() 獲取當前正在處理的異常類,exc_type、exc_value、exc_traceback當前處理的異常詳細資訊
sys.exit(n) 退出程式,正常退出時exit(0)
sys.hexversion 獲取Python解釋程式的版本值,16進位制格式如:0x020403F0
sys.version 獲取Python解釋程式的版本資訊
sys.platform 返回作業系統平臺名稱
sys.stdout 標準輸出
sys.stdout.write(‘aaa‘) 標準輸出內容
sys.stdout.writelines() 無換行輸出
sys.stdin 標準輸入
sys.stdin.read() 輸入一行
sys.stderr 錯誤輸出
sys.exc_clear() 用來清除當前執行緒所出現的當前的或最近的錯誤資訊
sys.exec_prefix 返回平臺獨立的python檔案安裝的位置
sys.byteorder 本地位元組規則的指示器,big-endian平臺的值是‘big‘,little-endian平臺的值是‘little‘
sys.copyright 記錄python版權相關的東西
sys.api_version 直譯器的C的API版本
sys.version_info ‘final‘表示最終,也有‘candidate‘表示候選,表示版本級別,是否有後繼的發行
sys.getdefaultencoding() 返回當前你所用的預設的字元編碼格式
sys.getfilesystemencoding() 返回將Unicode檔名轉換成系統檔名的編碼的名字
sys.builtin_module_names Python直譯器匯入的內建模組列表
sys.executable Python解釋程式路徑
sys.getwindowsversion() 獲取Windows的版本
sys.stdin.readline() 從標準輸入讀一行,sys.stdout.write(“a”) 螢幕輸出a
sys.setdefaultencoding(name) 用來設定當前預設的字元編碼(詳細使用參考文件)
sys.displayhook(value) 如果value非空,這個函式會把他輸出到sys.stdout(詳細使用參考文件)
random模組
print( random.randint(1,10) ) # 產生 1 到 10 的一個整數型隨機數
print( random.random() ) # 產生 0 到 1 之間的隨機浮點數
print( random.uniform(1.1,5.4) ) # 產生 1.1 到 5.4 之間的隨機浮點數,區間可以不是整數
print( random.choice('tomorrow') ) # 從序列中隨機選取一個元素
print( random.randrange(1,100,2) ) # 生成從1到100的間隔為2的隨機整數
random.shuffle(x[, random])
#用於將一個列表中的元素打亂,即將列表內的元素隨機排列。
random.sample(sequence, k)
#從指定序列中隨機獲取指定長度的片斷並隨機排列。注意:sample函式不會修改原有序列。
random.seed(a=None, version=2) 初始化隨機數生成器。如果 a 被省略或為 None ,則使用當前系統時間。 如果作業系統提供隨機源,則使用它們而不是系統時間(有關可用性的詳細資訊,請參閱 os.urandom() 函式)。
#如果 a 是 int 型別,則直接使用。<br>對於版本2(預設的),str 、 bytes 或 bytearray 物件轉換為 int 並使用它的所有位。<br>對於版本1(用於從舊版本的Python再現隨機序列),用於 str 和 bytes 的演算法生成更窄的種子範圍。<br>在 3.2 版更改: 已移至版本2方案,該方案使用字串種子中的所有位。
random.getstate() 返回捕獲生成器當前內部狀態的物件。 這個物件可以傳遞給 setstate() 來恢復狀態。
random.setstate(state) state 應該是從之前呼叫 getstate() 獲得的,並且 setstate() 將生成器的內部狀態恢復到 getstate() 被呼叫時的狀態。
random.getrandbits(k) 返回帶有 k 位隨機的Python整數。 此方法隨 MersenneTwister 生成器一起提供,其他一些生成器也可以將其作為API的可選部分提供。 如果可用,getrandbits() 啟用 randrange() 來處理任意大範圍。
random.randrange(start, stop[, step]) 從 range(start, stop, step) 返回一個隨機選擇的元素。 這相當於 choice(range(start, stop, step)) ,但實際上並沒有構建一個 range 物件。
random.randint(a, b) 返回隨機整數 N 滿足 a <= N <= b。相當於 randrange(a, b+1)。
random.choice(seq) 從非空序列 seq 返回一個隨機元素。 如果 seq 為空,則引發 IndexError。
random.shuffle(x[, random]) 將序列 x 隨機打亂位置。可選引數 random 是一個0引數函式,在 [0.0, 1.0) 中返回隨機浮點數;預設情況下,這是函式 random() 。
random.sample(population, k) 返回從總體序列或集合中選擇的唯一元素的 k 長度列表。 用於無重複的隨機抽樣。返回包含來自總體的元素的新列表,同時保持原始總體不變。 結果列表按選擇順序排列,因此所有子切片也將是有效的隨機樣本。 這允許抽獎獲獎者(樣本)被劃分為大獎和第二名獲勝者(子切片)。
random.random() 返回 [0.0, 1.0) 範圍內的下一個隨機浮點數。
random.uniform(a, b) 返回一個隨機浮點數 N ,當 a <= b 時 a <= N <= b ,當 b < a 時 b <= N <= a 。取決於等式 a + (b-a) * random() 中的浮點舍入,終點 b 可以包括或不包括在該範圍內。
random.triangular(low, high, mode) 返回一個隨機浮點數 N ,使得 low <= N <= high 並在這些邊界之間使用指定的 mode 。 low 和 high 邊界預設為零和一。 mode 引數預設為邊界之間的中點,給出對稱分佈。
random.betavariate(alpha, beta) Beta 分佈。 引數的條件是 alpha > 0 和 beta > 0。 返回值的範圍介於 0 和 1 之間。
random.expovariate(lambd) 指數分佈。 lambd 是 1.0 除以所需的平均值,它應該是非零的。 (該引數本應命名為 “lambda” ,但這是 Python 中的保留字。)如果 lambd 為正,則返回值的範圍為 0 到正無窮大;如果 lambd 為負,則返回值從負無窮大到 0。
random.gammavariate(alpha, beta) Gamma 分佈。 ( 不是 gamma 函式! ) 引數的條件是 alpha > 0 和 beta > 0。
random.gauss(mu, sigma) 高斯分佈。 mu 是平均值,sigma 是標準差。 這比下面定義的 normalvariate() 函式略快。
random.lognormvariate(mu, sigma) 對數正態分佈。 如果你採用這個分佈的自然對數,你將得到一個正態分佈,平均值為 mu 和標準差為 sigma 。 mu 可以是任何值,sigma 必須大於零。
random.normalvariate(mu, sigma) 正態分佈。 mu 是平均值,sigma 是標準差。
random.vonmisesvariate(mu, kappa) 馮·米塞斯(von Mises)分佈。 mu 是平均角度,以弧度表示,介於0和 2*pi 之間,kappa 是濃度引數,必須大於或等於零。 如果 kappa 等於零,則該分佈在 0 到 2*pi 的範圍內減小到均勻的隨機角度。
random.paretovariate(alpha) 帕累託分佈。 alpha 是形狀引數。
random.weibullvariate(alpha, beta) 威布林分佈。 alpha 是比例引數,beta 是形狀引數。
stat模組
描述os.stat()返回的檔案屬性列表中各值的意義
fileStats = os.stat(path) 獲取到的檔案屬性列表
fileStats[stat.ST_MODE] 獲取檔案的模式
fileStats[stat.ST_SIZE] 檔案大小
fileStats[stat.ST_MTIME] 檔案最後修改時間
fileStats[stat.ST_ATIME] 檔案最後訪問時間
fileStats[stat.ST_CTIME] 檔案建立時間
stat.S_ISDIR(fileStats[stat.ST_MODE]) 是否目錄
stat.S_ISREG(fileStats[stat.ST_MODE]) 是否一般檔案
stat.S_ISLNK(fileStats[stat.ST_MODE]) 是否連線檔案
stat.S_ISSOCK(fileStats[stat.ST_MODE]) 是否COCK檔案
stat.S_ISFIFO(fileStats[stat.ST_MODE]) 是否命名管道
stat.S_ISBLK(fileStats[stat.ST_MODE]) 是否塊裝置
stat.S_ISCHR(fileStats[stat.ST_MODE]) 是否字元設定
string模組
str.capitalize() 把字串的第一個字元大寫
str.center(width) 返回一個原字串居中,並使用空格填充到width長度的新字串
str.ljust(width) 返回一個原字串左對齊,用空格填充到指定長度的新字串
str.rjust(width) 返回一個原字串右對齊,用空格填充到指定長度的新字串
str.zfill(width) 返回字串右對齊,前面用0填充到指定長度的新字串
str.count(str,[beg,len]) 返回子字串在原字串出現次數,beg,len是範圍
str.decode(encodeing[,replace]) 解碼string,出錯引發ValueError異常
str.encode(encodeing[,replace]) 解碼string
str.endswith(substr[,beg,end]) 字串是否以substr結束,beg,end是範圍
str.startswith(substr[,beg,end]) 字串是否以substr開頭,beg,end是範圍
str.expandtabs(tabsize = 8) 把字串的tab轉為空格,預設為8個
str.find(str,[stat,end]) 查詢子字串在字串第一次出現的位置,否則返回-1
str.index(str,[beg,end]) 查詢子字串在指定字元中的位置,不存在報異常
str.isalnum() 檢查字串是否以字母和數字組成,是返回true否則False
str.isalpha() 檢查字串是否以純字母組成,是返回true,否則false
str.isdecimal() 檢查字串是否以純十進位制數字組成,返回布林值
str.isdigit() 檢查字串是否以純數字組成,返回布林值
str.islower() 檢查字串是否全是小寫,返回布林值
str.isupper() 檢查字串是否全是大寫,返回布林值
str.isnumeric() 檢查字串是否只包含數字字元,返回布林值
str.isspace() 如果str中只包含空格,則返回true,否則FALSE
str.title() 返回標題化的字串(所有單詞首字母大寫,其餘小寫)
str.istitle() 如果字串是標題化的(參見title())則返回true,否則false
str.join(seq) 以str作為連線符,將一個序列中的元素連線成字串
str.split(str=‘‘,num) 以str作為分隔符,將一個字串分隔成一個序列,num是被分隔的字串
str.splitlines(num) 以行分隔,返回各行內容作為元素的列表
str.lower() 將大寫轉為小寫
str.upper() 轉換字串的小寫為大寫
str.swapcase() 翻換字串的大小寫
str.lstrip() 去掉字元左邊的空格和回車換行符
str.rstrip() 去掉字元右邊的空格和回車換行符
str.strip() 去掉字元兩邊的空格和回車換行符
str.partition(substr) 從substr出現的第一個位置起,將str分割成一個3元組。
str.replace(str1,str2,num) 查詢str1替換成str2,num是替換次數
str.rfind(str[,beg,end]) 從右邊開始查詢子字串
str.rindex(str,[beg,end]) 從右邊開始查詢子字串位置
str.rpartition(str) 類似partition函式,不過從右邊開始查詢
str.translate(str,del=‘‘) 按str給出的錶轉換string的字元,del是要過慮的字元
math模組
ceil | 取大於等於x的最小的整數值,如果x是一個整數,則返回x |
copysign | 把y的正負號加到x前面,可以使用0 |
cos | 求x的餘弦,x必須是弧度 |
degrees | 把x從弧度轉換成角度 |
e | 表示一個常量 |
exp | 返回math.e,也就是2.71828的x次方 |
expm1 | 返回math.e的x(其值為2.71828)次方的值減1 |
fabs | 返回x的絕對值 |
factorial | 取x的階乘的值 |
floor: | 取小於等於x的最大的整數值,如果x是一個整數,則返回自身 |
fmod | 得到x/y的餘數,其值是一個浮點數 |
frexp | 返回一個元組(m,e),其計算方式為:x分別除0.5和1,得到一個值的範圍 |
fsum | 對迭代器裡的每個元素進行求和操作 |
gcd | 返回x和y的最大公約數 |
hypot | 如果x是不是無窮大的數字,則返回True,否則返回False |
isfinite | 如果x是正無窮大或負無窮大,則返回True,否則返回False |
isinf | 如果x是正無窮大或負無窮大,則返回True,否則返回False |
isnan | 如果x不是數字True,否則返回False |
ldexp | 返回x*(2**i)的值 |
log | 返回x的自然對數,預設以e為基數,base引數給定時,將x的對數返回給定的base,計算式為:log(x)/log(base) |
log10 | 返回x的以10為底的對數 |
log1p | 返回x+1的自然對數(基數為e)的值 |
log2 | 返回x的基2對數 |
modf | 返回由x的小數部分和整數部分組成的元組 |
pi | 數字常量,圓周率 |
pow | 返回x的y次方,即x**y |
radians | 把角度x轉換成弧度 |
sin | 求x(x為弧度)的正弦值 |
sqrt | 求x的平方根 |
tan | 返回x(x為弧度)的正切值 |
trunc | 返回x的整數部分 |
urllib模組
urllib.quote(string[,safe]) 對字串進行編碼。引數safe指定了不需要編碼的字元
urllib.unquote(string) 對字串進行解碼
urllib.quote_plus(string[,safe]) 與urllib.quote類似,但這個方法用‘+‘來替換‘ ‘,而quote用‘%20‘來代替‘ ‘
urllib.unquote_plus(string ) 對字串進行解碼
urllib.urlencode(query[,doseq]) 將dict或者包含兩個元素的元組列表轉換成url引數。
#例如 字典{‘name‘:‘wklken‘,‘pwd‘:‘123‘} 將被轉換為”name=wklken&pwd=123″
urllib.pathname2url(path) 將本地路徑轉換成url路徑
urllib.url2pathname(path) 將url路徑轉換成本地路徑
urllib.urlretrieve(url[,filename[,reporthook[,data]]]) 下載遠端資料到本地
#filename:指定儲存到本地的路徑(若未指定該,urllib生成一個臨時檔案儲存資料)
#reporthook:回撥函式,當連線上伺服器、以及相應的資料塊傳輸完畢的時候會觸發該回調
#data:指post到伺服器的資料
urllib.urlopen(url[,data[,proxies]]) 抓取網頁資訊,[data]post資料到Url,proxies設定的代理
urlrs.readline() 跟檔案物件使用一樣
urlrs.readlines() 跟檔案物件使用一樣
urlrs.fileno() 跟檔案物件使用一樣
urlrs.close() 跟檔案物件使用一樣
urlrs.info() 返回一個httplib.HTTPMessage物件,表示遠端伺服器返回的頭資訊
urlrs.getcode() 獲取請求返回狀態HTTP狀態碼
urlrs.geturl() 返回請求的URL
原文連結:https://blog.csdn.net/qq_45070541/article/details/101079613#t3