gpt4 book ai didi

python - 为什么 shutil.copytree 不将树从源复制到目标?

转载 作者:行者123 更新时间:2023-11-28 20:42:09 24 4
gpt4 key购买 nike

我有一个函数:

def path_clone( source_dir_prompt, destination_dir_prompt) :
try:
shutil.copytree(source_dir_prompt, destination_dir_prompt)
print("Potentially copied?")
except OSError as e:
# If the error was caused because the source wasn't a directory
if e.errno == errno.ENOTDIR:
shutil.copy(source_dir_prompt, destination_dir_prompt)
else:
print('Directory not copied. Error: %s' % e)

为什么失败并输出:

Directory not copied. Error: [Errno 17] File exists: '[2]'

我的 source 目录存在文件/目录。我的 destination folder 存在,但是当我运行它时,没有文件被复制并且它命中了我的 else 语句。

我还尝试将两个文件夹的权限设置为 chmod 777 以避免 unix 权限错误,但这也没有解决问题。

非常感谢任何帮助。谢谢。

最佳答案

我感谢大家试图帮助我,显然我找到了一种适合我的情况的方法并将其发布在下面以防有一天它会帮助某人解决这个问题(而不是花几个小时试图得到它工作) - 享受:

try:
#if path already exists, remove it before copying with copytree()
if os.path.exists(dst):
shutil.rmtree(dst)
shutil.copytree(src, dst)
except OSError as e:
# If the error was caused because the source wasn't a directory
if e.errno == errno.ENOTDIR:
shutil.copy(source_dir_prompt, destination_dir_prompt)
else:
print('Directory not copied. Error: %s' % e)

关于python - 为什么 shutil.copytree 不将树从源复制到目标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31345470/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com