shutile模組提供了一系列對檔案和檔案集合的高階操作,特別是提供了一些支援檔案拷貝和刪除的函式。
如有其他命令需要,可參見 python 官網的相關文件:shutil 高階檔案操作 或呼叫help(shutile)命令獲取幫助文件。
關於 os 模組的相關命令,可參考我的另一篇部落格:python系列 | os模組常用命令
示例:假設 c 盤存在兩個資料夾p_file
和new_pfile
# input code
import os
os.chdir(r"c:\p_file"
)print
(os.getcwd())
print
(os.listdir())
# output result
c:\p_file
["p_file's excel.xlsx"
,"p_file's text.txt"
,'sub_file'
]# p_file資料夾中存在乙個txt檔案、乙個excel檔案和乙個名為sub_file的資料夾(sub_file資料夾內存在有檔案和子資料夾)
1. shutil.copy
# input code
import shutil
shutil.copy(r".\p_file's text.txt"
,r"..\new_pfile"
)# output result
"..\\new_pfile\\p_file's text.txt"
# 已成功拷貝txt檔案至new_pfile資料夾下
2. shutile.copy2
# input code
shutil.copy2(r".\p_file's excel.xlsx"
,r"..\new_pfile"
)# output result
"..\\new_pfile\\p_file's excel.xlsx"
# 已成功拷貝excel檔案至new_pfile資料夾下
3. shutile.copytree
# input code
print
("sub_file中含有檔案:{}"
.format
(os.listdir(r'.\sub_file'))
)shutil.copytree(r'.\sub_file'
,r'..\tree_file'
)print
("新建立的樹目錄tree_file中含有檔案:{}"
.format
(os.listdir(r'..\tree_file'))
)# output result
sub_file中含有檔案:[
'subsub_file'
,"sub_file's text.txt"
]新建立的樹目錄tree_file中含有檔案:[
'subsub_file'
,"sub_file's text.txt"
]
4. shutil.rmtree
# input code
shutil.rmtree(r'..\tree_file'
)# 即使tree_file內含檔案也會被刪除,這點不同於os.rmdir或os.removedirs,os模組的兩個刪除函式只能刪除空檔案、空資料夾
print
(os.listdir(
'..'))
# output result
['new_pfile'
,'p_file'
]# tree_file已被刪除
5. shutil.move
# input code
shutil.move(r'..\new_pfile'
,'.'
)# 將c盤的new_pfile資料夾移動至c盤的p_file資料夾中
print
(os.listdir())
# output result
'.\\new_pfile'
['new_pfile'
,"p_file's excel.xlsx"
,"p_file's text.txt"
,'sub_file'
]# 以完成移動
遞迴練習 shutil模組 logging模組
os模組 檢視乙個資料夾下的所有檔案,這個資料夾下面還有資料夾,不能用walk import os defshow file path name lst os.listdir path for name in name lst abs path os.path.join path,name if o...
自學python系列11 python的模組
1.1什麼是模組 當 量很大時,把 分成一些有組織的 段。python允許 調入 乙個模組,允許使用其他模組的屬性來利用之前的工作成果,實現 重用。把其他模組屬性附加到你的模組中的操作叫匯入。那些自我包含並有組織的 片段是模組 module 1.2模組和檔案 乙個檔案是獨立模組,乙個模組也可以被看作...
Python標準庫系列之pathlib模組
首先我們看使用os模組連線目錄和檔案 import os.path data folder os.path.join source data text files file to open os.path.join data folder,raw data.txt f open file to op...