有人建议使用以下函数替换原始的shutil.copytree函数。
def copytree(src, dst, symlinks=False, ignore=None):
for item in os.listdir(src):
s = os.path.join(src, item)
d = os.path.join(dst, item)
if os.path.isdir(s):
shutil.copytree(s, d, symlinks, ignore)
else:
shutil.copy2(s, d)它运行得很好,除非我想将一些ignore_patterns传递给变量‘忽略’,我的模式是"upf",它会给出以下错误。
def copytree(src, dst, symlinks=False, ignore= ignore_patterns('*upf*')):
NameError: name 'ignore_patterns' is not defined发布于 2019-02-01 11:02:23
ignore_patterns函数属于shutil模块。
因此,您可以如下所示修复代码:
import os
import shutil
def copytree(src, dst, symlinks=False, ignore=shutil.ignore_patterns("*upf")):
for item in os.listdir(src):
s = os.path.join(src, item)
d = os.path.join(dst, item)
if os.path.isdir(s):
shutil.copytree(s, d, symlinks, ignore)
else:
shutil.copy2(s, d)https://stackoverflow.com/questions/45579393
复制相似问题