pytho的os、os.path模組給我買提供了很多對檔案或者目錄進行操作的方法。
import os.path
print os.path.abspath('.')
# 獲取絕對路徑
print os.path.join('aaa','bbb')
# 合併目錄。因為路徑分隔符是平台相關的
print os.path.split('aaa/bbb/ccc')
#分離路徑。總是將把乙個路徑拆分為兩部分,後一部分總是最後級別的目錄或檔名
print os.path.split('aaa')
# ('', 'aaa')
print os.path.split('aaa/bbb/ccc/demo.txt')
# ('aaa/bbb/ccc', 'demo.txt')
print os.path.splitext('aaa/bbb/ccc/demo.txt')
# ('aaa/bbb/ccc/demo', '.txt')
os.rename('world222.txt', 'world222.txt')
# 重新命名
os.remove('world2.txt')
# 刪除檔案
os.removedirs('hello')
刪除目錄時,目錄必須為空
# 刪除目錄
說明:shutil的高階拷貝函式copy()
`copy2()`均不能完全拷貝檔案的元資料(metadata).
shutil.copyfileobj(fsrc, fdst[, length])
拷貝file-like object.
shutil.copyfile(src, dst)
src、dst必須是帶路徑的檔名。
src、dst如果一樣,那麼則會包error錯誤
目標路徑必須可寫,否則ioerror
shutil.copy(src, dst)
src dst可以是檔案或者目錄
shutil.copymode(src, dst)
拷貝mode,就是檔案許可權
shutil.copystat(src, dst)
拷貝檔案許可權,最後訪問時間,最後修改時間,標記。
shutil.copy(src, dst) 和 shutil.copy2(src, dst)
src 需是檔案; dst可以是檔案或者是目錄。
shutil.copy會拷貝許可權資訊。shutil.copy2則是shutil.copy(src, dst)和shutil.copystat(src, dst)的結合。
shutil.copytree(src, dst)
拷貝目錄,dst必須是還未存在的。dst如果已經存在但是並非乙個目錄,也會出錯。
shutil.rmtree(src, dst)
刪除目錄。
shutil.move(src, dst)
講乙個目錄或者檔案移動到另乙個檔案或者目錄。
我們可以使用for...if...來過濾目錄。
print [x for x in os.listdir('.') if os.path.splitext(x)[1] == '.py']
#列印出所有以.py結尾的檔案。
print [x for x in os.listdir('.') if os.path.isdir(x)]
# 列印出所有的目錄。
python學習筆記 操作檔案和目錄
如果我們要操作檔案 目錄,可以在命令列下面輸入作業系統提供的各種命令來完成。比如dir cp等命令。如果要在python程式中執行這些目錄和檔案的操作怎麼辦?其實作業系統提供的命令只是簡單地呼叫了作業系統提供的介面函式,python內建的os模組也可以直接呼叫作業系統提供的介面函式。開啟python...
Python學習筆記 IO程式設計 操作檔案和目錄
根據廖雪峰python教程整理 如果我們要操作檔案 目錄,可以在命令列下面輸入作業系統提供的各種命令來完成。比如dir cp 等命令。如果要在python 程式中執行這些目錄和檔案的操作怎麼辦?其實作業系統提供的命令只是簡單地呼叫了作業系統提供的介面函式,python 內建的os 模組也可以直接呼叫...
廖雪峰python學習筆記13 操作檔案和目錄
coding utf 8 操作檔案和目錄 比如我們要操作檔案 目錄 執行某些系統命令的時候 可以匯入os模組 import os print os.name print os s name 如果是posix,說明系統是linux unix或mac os x,如果是nt,就是windows系統。pri...