蟒蛇shutil.copytree - 忽略权限
题
Python的shutil.copytree
不是很灵活;什么是添加忽视的权限,而在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,或找到另一个库,是诚实的。
其他提示
不线程安全(或一般可取),但行用于一次性脚本:
import shutil _orig_copystat = shutil.copystat shutil.copystat = lambda x, y: x shutil.copytree(src, dst) shutil.copystat = _orig_copystat
不隶属于 StackOverflow