1
至少在窗口上,shutil.move
包含只讀文件到另一個驅動器的文件夾將失敗。它失敗,因爲move
與copy
後跟rmtree
實施。最後,rmtree
試圖刪除不可寫入的文件。如何通過驅動器上的只讀文件`shutil.move`
目前我解決它首先設置stat.S_IWUSER
所有(嵌套)文件,但我現在還是要恢復原來的stat
算賬:
def make_tree_writable(source_dir):
for root, dirs, files in os.walk(source_dir):
for name in files:
make_writable(path.join(root, name))
def make_writable(path_):
os.chmod(path_, stat.S_IWUSR)
def movetree_workaround(source_dir, target_dir):
make_tree_writable(source_dir)
shutil.move(source_dir, target_dir)
所以我想:這是方法?在我可以使用的製作中是否有shutil2
?我可以在那裏得到任何幫助嗎?
爲什麼不先執行'shutil.copytree()',然後更改源代碼的權限,最後在源代碼中更改'shutil.rmtree'的權限? – VBB
爲什麼不把它倒入一個答案,以便我可以upvote呢? – xtofl
相關(不重複):[shutil.rmtree刪除只讀文件](http://stackoverflow.com/q/21261132/364696) – ShadowRanger