Python的shutil.copytree不是很灵活;在copytree中复制时添加忽略权限支持的最简单方法是什么(而不必重写其实现)?
否则,copytree会失败,如下所示:
(…)”[Errno 45] Operation not supported: ‘/path/foo/bar’”发布于 2009-08-20 00:58:06
您的标准Python发行版中有shutil.py (例如,在Ubuntu上,我的发行版在/usr/lib/python2.6下;Windows可能是C:\Python26\lib?)。copytree函数只有38行(如果不计算注释,则为34行),并且docstring的末尾显式地声明:
XXX Consider this example code rather than the ultimate tool.
因此,最简单的方法实际上是更改/添加几行到copytree,或者找到另一个库,老实说。
发布于 2020-11-03 07:24:54
在Python 3.2和更高版本中,现在有一种内置的方法来实现这一点。shutil.copytree接受自定义文件复制函数作为参数。您可以使用它将其从默认的文件复制功能(shutil.copy2)更改为不具有复制权限的功能(如shutil.copy
shutil.copytree(src, dst, copy_function=shutil.copy)https://stackoverflow.com/questions/1303413
复制相似问题