在作業系統下,使用者可以通過作業系統的命令來管理檔案,參考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:
1 2 |
import os os.mkdir('/home/vamei/new') |
shutil包
copy(src, dst)
複製檔案,從src到dst。相當於$cp命令。
move(src, dst)
移動檔案,從src到dst。相當於$mv命令。
比如我們想複製檔案a.txt:
1 2 |
import shutil shutil.copy('a.txt', 'b.txt') |
結合本章以及之前的內容,我們把Python打造成一個檔案管理的利器了。
總結
os包: rmdir, mkdir, listdir, remove, rename, chmod, chown, stat, symlink
shutil包: copy, move