標籤:python 常用 模組
常用的內建模組的介紹
os,sys,time,datetime,json/pickle,shutil,random
一.os
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M01/A4/BD/wKioL1mwtrawjKurAAAJ9w_dRlI511.png" style="float:none;" title="Screenshot from 2017-09-07 10-11-07.png" alt="wKioL1mwtrawjKurAAAJ9w_dRlI511.png" />
1.切換目錄,查看當前工作的目錄os.getcwd
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M02/06/0C/wKiom1mwttfzGSDBAAAu2K8hiQ0054.png" style="float:none;" title="Screenshot from 2017-09-07 10-11-18.png" alt="wKiom1mwttfzGSDBAAAu2K8hiQ0054.png" />
2.目前的目錄,上級目錄os.curdir os.pardir
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M02/A4/BD/wKioL1mwtryzHQavAAAhnJmLTRs714.png" style="float:none;" title="Screenshot from 2017-09-07 10-11-51.png" alt="wKioL1mwtryzHQavAAAhnJmLTRs714.png" />
3.建立目錄 os.mkdir
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M00/06/0C/wKiom1mwtt2DxyxTAACHaeLzg4Y061.png" style="float:none;" title="Screenshot from 2017-09-07 10-13-42.png" alt="wKiom1mwtt2DxyxTAACHaeLzg4Y061.png" />
4.刪除檔案 os.remove
650) this.width=650;" src="https://s5.51cto.com/wyfs02/M00/A4/BD/wKioL1mwtsDxJsBdAABJP5RKeRM571.png" style="float:none;" title="Screenshot from 2017-09-07 10-19-42.png" alt="wKioL1mwtsDxJsBdAABJP5RKeRM571.png" />
5.重新命名 os.rename
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M01/06/0C/wKiom1mwtuDA_OfFAAAzTjcnS4o667.png" style="float:none;" title="Screenshot from 2017-09-07 10-21-02.png" alt="wKiom1mwtuDA_OfFAAAzTjcnS4o667.png" />
6.執行shell命令 os.system
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M01/A4/BD/wKioL1mwtsWycomXAAAVMDbH8lA333.png" style="float:none;" title="Screenshot from 2017-09-07 10-38-00.png" alt="wKioL1mwtsWycomXAAAVMDbH8lA333.png" />
7.返迴路徑的目錄和檔案名稱 os.path.split
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M00/A4/BD/wKioL1mwuH7g1sWKAAAgW_sWnhQ424.png" style="float:none;" title="Screenshot from 2017-09-07 11-06-15.png" alt="wKioL1mwuH7g1sWKAAAgW_sWnhQ424.png" />
8.判斷指定對象是否為檔案,目錄 os.path.isfile os.path.isdir
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M01/06/0C/wKiom1mwuJ6DkSIjAAAys1foQmg095.png" style="float:none;" title="Screenshot from 2017-09-07 11-07-00.png" alt="wKiom1mwuJ6DkSIjAAAys1foQmg095.png" />
9.獲得檔案的大小,如果為目錄,返回0 os.path.getsize
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M01/A4/BD/wKioL1mwuH6wctX2AAAZVeZrR4M933.png" style="float:none;" title="Screenshot from 2017-09-07 11-08-33.png" alt="wKioL1mwuH6wctX2AAAZVeZrR4M933.png" />
10.串連目錄和檔案名稱 os.path.join
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M00/06/0C/wKiom1mwuJ7hiyvPAAAdza70KVM130.png" style="float:none;" title="Screenshot from 2017-09-07 11-09-23.png" alt="wKiom1mwuJ7hiyvPAAAdza70KVM130.png" />
11.判斷目錄是否存在 os.path.exists
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M01/A4/BD/wKioL1mwuzHioC3PAAAXSZfarTA190.png" title="Screenshot from 2017-09-07 11-20-24.png" alt="wKioL1mwuzHioC3PAAAXSZfarTA190.png" />
二.sys
1.sys.path 是一個list,指明所有尋找module,package的路徑
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/A4/BE/wKioL1mwwMiRYiwlAADI6vsruVs768.png" title="Screenshot from 2017-09-07 11-44-43.png" alt="wKioL1mwwMiRYiwlAADI6vsruVs768.png" />
2.sys.argv是一個list,包含所有的命令列參數
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M00/A4/BE/wKioL1mwwFSDNkOoAAAYVvWd5tc595.png" title="Screenshot from 2017-09-07 11-42-26.png" alt="wKioL1mwwFSDNkOoAAAYVvWd5tc595.png" />
3.sys.stdin.readline() 從標準輸入讀一行 螢幕輸出a
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M01/A4/BE/wKioL1mwwVegdV5JAAAlyYHZW84094.png" title="Screenshot from 2017-09-07 11-47-15.png" alt="wKioL1mwwVegdV5JAAAlyYHZW84094.png" />
4.sys.modules 是一個dictionary,表示系統中所有可用的module
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/A4/BE/wKioL1mwwbvzXiqaAABJQF1dHT0265.png" title="Screenshot from 2017-09-07 11-48-47.png" alt="wKioL1mwwbvzXiqaAABJQF1dHT0265.png" />
5.sys.platform 得到啟動並執行作業系統環境
650) this.width=650;" src="https://s5.51cto.com/wyfs02/M02/06/0D/wKiom1mwwgeQZksxAAAWojs5vsI235.png" title="Screenshot from 2017-09-07 11-49-34.png" alt="wKiom1mwwgeQZksxAAAWojs5vsI235.png" />
三.time
1.time.time():返回目前時間的時間戳記
650) this.width=650;" src="https://s5.51cto.com/wyfs02/M02/A4/BE/wKioL1mwxCLgU225AAAgPL-zTDA320.png" title="Screenshot from 2017-09-07 11-59-00.png" alt="wKioL1mwxCLgU225AAAgPL-zTDA320.png" />
2.time.localtime( [secs] )
將一個時間戳記轉換為當前時區的struct_time,即時間數組格式的時間
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/A4/BE/wKioL1mwxI7js0OUAAA0cQ0qLfM941.png" title="Screenshot from 2017-09-07 11-59-58.png" alt="wKioL1mwxI7js0OUAAA0cQ0qLfM941.png" />
3.time.gmtime([secs])
將一個時間戳記轉換為UTC時區的struct_time
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M00/06/10/wKiom1mw62PwClVzAAA9Le4ImJE179.png" title="Screenshot from 2017-09-07 14-46-15.png" alt="wKiom1mw62PwClVzAAA9Le4ImJE179.png" />
4.time.mktime(t):將一個struct_time轉化為時間戳記
650) this.width=650;" src="https://s5.51cto.com/wyfs02/M00/06/10/wKiom1mw7MuBvRDnAAAb4ZBjQJQ746.png" title="Screenshot from 2017-09-07 14-51-44.png" alt="wKiom1mw7MuBvRDnAAAb4ZBjQJQ746.png" />
5.time.sleep(secs):線程延遲指定的時間運行 ,線程睡眠指定時間,單位為秒
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M01/06/10/wKiom1mw7RCTcClgAAAOv_6IS0M040.png" title="Screenshot from 2017-09-07 14-53-03.png" alt="wKiom1mw7RCTcClgAAAOv_6IS0M040.png" />
6.time.clock()
這個函數, 函數以浮點數計算的秒數返回當前的CPU時間。
650) this.width=650;" src="https://s5.51cto.com/wyfs02/M02/A4/C1/wKioL1mw7UvyPmfsAAAWei18zb0895.png" title="Screenshot from 2017-09-07 14-54-54.png" alt="wKioL1mw7UvyPmfsAAAWei18zb0895.png" />
7.time.asctime()
把一個表示時間的元組或者struct_time表示為 ‘Thu Sep 7 14:31:59 2017’ 這種形式。如果沒有給參數,會將time.localtime()作為參數傳入。
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/A4/C1/wKioL1mw7hqj0SUXAABELiXZntw804.png" title="Screenshot from 2017-09-07 14-57-40.png" alt="wKioL1mw7hqj0SUXAABELiXZntw804.png" />
8.time.ctime([secs])
把一個時間戳記(按秒計算的浮點數)轉化為time.asctime()的形式。如果為指定參數,將會預設使用time.time()作為參數。
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M02/A4/C1/wKioL1mw8FfiZQ0TAAA7MOCNlME046.png" title="Screenshot from 2017-09-07 15-07-32.png" alt="wKioL1mw8FfiZQ0TAAA7MOCNlME046.png" />
9.time.strftime( format [, t] )
format:格式化字串
[t]可選的參數是一個struct_time對象
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M01/A4/C2/wKioL1mw84DyyliTAABbHpCUV98426.png" title="Screenshot from 2017-09-07 15-19-05.png" alt="wKioL1mw84DyyliTAABbHpCUV98426.png" />
10.time.strptime(string[,format])
將格式字串轉化成struct_time. 該函數是time.strftime()函數的逆操作。time strptime() 函數根據指定的格式把一個時間字串解析為時間元組。所以函數返回的是struct_time對象。
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M00/06/11/wKiom1mw9Rrj5NoRAABG3pwl0Bs840.png" title="Screenshot from 2017-09-07 15-27-39.png" alt="wKiom1mw9Rrj5NoRAABG3pwl0Bs840.png" />
四.datetime
1. 擷取當前datetime
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/06/11/wKiom1mw9qORWI2zAAAONjd8P8E967.png" style="float:none;" title="Screenshot from 2017-09-07 15-33-16.png" alt="wKiom1mw9qORWI2zAAAONjd8P8E967.png" />
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M00/A4/C2/wKioL1mw9oPC9QOIAAApP915kpw866.png" style="float:none;" title="Screenshot from 2017-09-07 15-33-33.png" alt="wKioL1mw9oPC9QOIAAApP915kpw866.png" />
2. 擷取當天date
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M02/A4/C2/wKioL1mw9t2zRJWgAAAiooqa_kQ522.png" title="Screenshot from 2017-09-07 15-35-43.png" alt="wKioL1mw9t2zRJWgAAAiooqa_kQ522.png" />
3. 擷取明天
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M00/A4/C2/wKioL1mw9zDwWJM3AAAol8WYvIs405.png" title="Screenshot from 2017-09-07 15-37-12.png" alt="wKioL1mw9zDwWJM3AAAol8WYvIs405.png" />
4.目前時間的三天前
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M02/A4/C2/wKioL1mw94TCZInnAAAvwtgn2oQ657.png" title="Screenshot from 2017-09-07 15-38-34.png" alt="wKioL1mw94TCZInnAAAvwtgn2oQ657.png" />
5.擷取當天開始和結束時間(00:00:00 23:59:59)
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M00/06/12/wKiom1mw-DXRHJgbAABVmJO1_q8461.png" title="Screenshot from 2017-09-07 15-40-54.png" alt="wKiom1mw-DXRHJgbAABVmJO1_q8461.png" />
五.json/pickle
son和pickle模組,兩個都是用於序列化的模組
- json模組,用於字串與python資料類型之間的轉換
- pickle模組,用於python特有類型與python資料類型之間的轉換
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M02/A4/C3/wKioL1mw_KzADxGUAAANmb48_5c361.png" style="float:none;" title="Screenshot from 2017-09-07 15-59-35.png" alt="wKioL1mw_KzADxGUAAANmb48_5c361.png" />
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M00/A4/C3/wKioL1mw_K2wzRfhAAA9r0H-s7I178.png" style="float:none;" title="Screenshot from 2017-09-07 15-59-42.png" alt="wKioL1mw_K2wzRfhAAA9r0H-s7I178.png" />
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M00/06/12/wKiom1mw_Wag6P22AABTde_aFZ4449.png" title="Screenshot from 2017-09-07 16-03-07.png" alt="wKiom1mw_Wag6P22AABTde_aFZ4449.png" />
六.shutil
1.shutil.copyfile( src, dst) 複製
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M00/A4/C4/wKioL1mxBWzREGT2AAANeljgbHo225.png" title="Screenshot from 2017-09-07 16-37-48.png" alt="wKioL1mxBWzREGT2AAANeljgbHo225.png" />
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M00/06/13/wKiom1mxBTvzcG1MAAAsBoHSzkA177.png" style="float:none;" title="Screenshot from 2017-09-07 16-36-25.png" alt="wKiom1mxBTvzcG1MAAAsBoHSzkA177.png" />
2.shutil.move( src, dst) 移動檔案或重新命名
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M01/06/13/wKiom1mxBg3g1zo4AAArSaXlUr4469.png" title="Screenshot from 2017-09-07 16-40-01.png" alt="wKiom1mxBg3g1zo4AAArSaXlUr4469.png" />
3.shutil.get_archive_formats()查看都支援哪些打包格式
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M01/06/17/wKiom1mxOpKg_FIwAABSvxqdmrE424.png" title="Screenshot from 2017-09-07 20-23-04.png" alt="wKiom1mxOpKg_FIwAABSvxqdmrE424.png" />
4.shutil.copymode( src, dst) 只是會複製其許可權其他的東西是不會被複製的
5.shutil.copystat( src, dst) 複製許可權、最後訪問時間、最後修改時間
6.shutil.copy( src, dst) 複製一個檔案到一個檔案或一個目錄
7.shutil.copy2( src, dst) 在copy上的基礎上再複製檔案最後訪問時間與修改時間也複製過來了,類似於cp –p的東西
8.shutil.copy2( src, dst) 如果兩個位置的檔案系統是一樣的話相當於是rename操作,只是改名;如果是不在相同的檔案系統的話就是做move操作
9.shutil.rmtree( src ) 遞迴刪除一個目錄以及目錄內的所有內容
七.random
1.random.random()用於產生一個0到1的隨機符點數
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M01/06/14/wKiom1mxCcryg2qQAAAOVsuQqGA059.png" style="float:none;" title="Screenshot from 2017-09-07 16-54-20.png" alt="wKiom1mxCcryg2qQAAAOVsuQqGA059.png" />
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M01/A4/C5/wKioL1mxCaqwNy4SAAAZYmRRo0k554.png" style="float:none;" title="Screenshot from 2017-09-07 16-55-14.png" alt="wKioL1mxCaqwNy4SAAAZYmRRo0k554.png" />
2.random.uniform的函數,用於產生一個指定範圍內的隨機符點數
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M02/06/14/wKiom1mxCiHyyU1wAAAbRJZWZQA883.png" title="Screenshot from 2017-09-07 16-57-06.png" alt="wKiom1mxCiHyyU1wAAAbRJZWZQA883.png" />
3.random.randint()的函數,用於產生一個指定範圍內的整數
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M02/A4/C5/wKioL1mxClHwH6XPAAAUAyGFdl4493.png" title="Screenshot from 2017-09-07 16-58-23.png" alt="wKioL1mxClHwH6XPAAAUAyGFdl4493.png" />
4.random.randrange的函數原型為:random.randrange([start], stop[, step]),從指定範圍內,按指定基數遞增的集合中 擷取一個隨機數
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/06/14/wKiom1mxCtiQ-hfCAAAWnrVAAeY257.png" title="Screenshot from 2017-09-07 17-00-14.png" alt="wKiom1mxCtiQ-hfCAAAWnrVAAeY257.png" />
5.random.choice從序列中擷取一個隨機元素。
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M00/06/14/wKiom1mxC2KhEIp1AAAf__3k6OY987.png" title="Screenshot from 2017-09-07 17-02-34.png" alt="wKiom1mxC2KhEIp1AAAf__3k6OY987.png" />
6.random.sample的函數,從指定序列中隨機擷取指定長度的片斷
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M00/A4/C5/wKioL1mxDHzjCFiPAAAfJrKm468327.png" title="Screenshot from 2017-09-07 17-07-47.png" alt="wKioL1mxDHzjCFiPAAAfJrKm468327.png" />
7.random.shuffle的函數用於將一個列表中的元素打亂
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M02/A4/C5/wKioL1mxEAGRd39AAAAwQSE_gQI395.png" title="Screenshot from 2017-09-07 17-22-57.png" alt="wKioL1mxEAGRd39AAAAwQSE_gQI395.png" />
Python-常用的內建模組