Python標準庫04 檔案管理 (部分os包,shutil包)
在作業系統下,使用者可以透過作業系統的命令來管理檔案,參考linux檔案管理相關命令。Python標準庫則允許我們從Python內部管理檔案。相同的目的,我們有了兩條途徑。儘管在Python呼叫標準庫的方式不如作業系統命令直接,但有它自己的優勢。你可以利用Python語言,併發揮其他Python工具,形成組合的檔案管理功能。Python or Shell? 這是留給使用者的選擇。本文中會盡量將兩者相似的功能相對應。
本文基於linux檔案管理背景知識
os包
os包包括各種各樣的函式,以實現作業系統的許多功能。這個包非常龐雜。os包的一些命令就是用於檔案管理。我們這裡列出最常用的:
mkdir(path)
建立新目錄,path為一個字串,表示新目錄的路徑。相當於$mkdir命令
rmdir(path)
刪除空的目錄,path為一個字串,表示想要刪除的目錄的路徑。相當於$rmdir命令
listdir(path)
返回目錄中所有檔案。相當於$ls命令。
remove(path)
刪除path指向的檔案。
rename(src, dst)
重新命名檔案,src和dst為兩個路徑,分別表示重新命名之前和之後的路徑。
chmod(path, mode)
改變path指向的檔案的許可權。相當於$chmod命令。
chown(path, uid, gid)
改變path所指向檔案的擁有者和擁有組。相當於$chown命令。
stat(path)
檢視path所指向檔案的附加資訊,相當於$ls -l命令。
symlink(src, dst)
為檔案dst建立軟連結,src為軟連結檔案的路徑。相當於$ln -s命令。
getcwd()
查詢當前工作路徑 (cwd, current working directory),相當於$pwd命令。
比如說我們要新建目錄new:
import osos.mkdir('/home/vamei/new')
shutil包
copy(src, dst)
複製檔案,從src到dst。相當於$cp命令。
move(src, dst)
移動檔案,從src到dst。相當於$mv命令。
比如我們想複製檔案a.txt:
import shutilshutil.copy('a.txt', 'b.txt')
想深入細節,請參照官方文件os, shutil。
結合本章以及之前的內容,我們把Python打造成一個檔案管理的利器了。
總結
os包: rmdir, mkdir, listdir, remove, rename, chmod, chown, stat, symlink
shutil包: copy, move
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1916/viewspace-2811674/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python 快速教程(標準庫04):檔案管理 (部分os包,shutil包)Python
- Python標準庫分享之檔案管理 (部分os包,shutil包)Python
- Python 快速教程(標準庫07):訊號 (signal包,部分os包)Python
- python常用標準庫(os系統模組、shutil檔案操作模組)Python
- Python 快速教程(標準庫03):路徑與檔案 (os.path包, glob包)Python
- golang標準庫的分析os包(6)Golang
- 「Golang成長之路」標準庫之os包Golang
- Python 快速教程(標準庫09):當前程式資訊 (os包)Python
- Python分享之路徑與檔案 (os.path包, glob包)Python
- Python標準庫分享之儲存物件 (pickle包,cPickle包)Python物件
- Python 快速教程(標準庫05):儲存物件 (pickle包,cPickle包)Python物件
- Python標準庫12 數學與隨機數 (math包,random包)Python隨機random
- Python標準庫10 多程式初步 (multiprocessing包)Python
- Python標準庫11 多程式探索 (multiprocessing包)Python
- Python 快速教程(標準庫06):子程式 (subprocess包)Python
- Go標準包-http包serverGoHTTPServer
- 標準庫 fmt 包的基本使用
- Python 快速教程(標準庫12):數學與隨機數 (math包,random包)Python隨機random
- python常用標準庫(壓縮包模組zipfile和tarfile)Python
- Go標準庫flag包的“小陷阱”Go
- Golang中的unsafe標準庫包Golang
- Python入門(二十六):檔案模組(os模組與shutil模組)Python
- [Python] shutil 模組(檔案操作)Python
- Python 快速教程(標準庫10):多程式初步 (multiprocessing包)Python
- Python 快速教程(標準庫01):正規表示式 (re包)Python
- 標準庫 http 包的簡單實用HTTP
- 「Golang成長之路」標準庫之time包Golang
- go標準庫-log包原始碼學習Go原始碼
- Go標準包——net/rpc包的使用GoRPC
- 3Python標準庫系列之os模組Python
- Go標準包—http clientGoHTTPclient
- Golang os 包與設定配置檔案路徑Golang
- Python 快速教程(標準庫02):時間與日期 (time, datetime包)Python
- Go 的 golang.org/x/ 系列包和標準庫包有什麼區別?Golang
- 【Python標準庫:fileinput】優雅的讀取檔案Python
- Python 快速教程(深入篇04):閉包Python
- Python製作egg檔案包Python
- Python 快速教程(標準庫11):多執行緒與同步 (threading包)Python執行緒thread