Python的shutil.copytree
不是很靈活;在複製copytree
(無需重新編寫其實現)時,添加對忽略權限的支持的最簡單方法是什麼?python shutil.copytree - 忽略權限
否則,copytree
失敗是這樣的:
(…)」[Errno 45] Operation not supported: ‘/path/foo/bar’」
Python的shutil.copytree
不是很靈活;在複製copytree
(無需重新編寫其實現)時,添加對忽略權限的支持的最簡單方法是什麼?python shutil.copytree - 忽略權限
否則,copytree
失敗是這樣的:
(…)」[Errno 45] Operation not supported: ‘/path/foo/bar’」
你在你的Python標準版有shutil.py
(Ubuntu的,我的是/usr/lib/python2.6
例如下,Windows可能會是C:\Python26\lib
?)。該copytree功能僅38線長(34,如果你不指望評論),以及文檔字符串的結尾明確指出:
XXX Consider this example code rather than the ultimate tool.
所以,最簡單的方法真的是改變/爲copytree添加一些行,或者找到另一個庫,說實話。
不是線程安全的(或建議一般),但對於OK暴殄天物腳本:
import shutil _orig_copystat = shutil.copystat shutil.copystat = lambda x, y: x shutil.copytree(src, dst) shutil.copystat = _orig_copystat
這就是我發佈這個問題以前那樣。 – 2009-08-20 18:19:59