已存在使用python get错误文件将文件移动到特定目录的情况
当我运行我的代码时,我会遇到如下相同的错误:已存在使用python get错误文件将文件移动到特定目录的情况,python,file,Python,File,当我运行我的代码时,我会遇到如下相同的错误: --------------------------------------------------------------------------- Error Traceback (most recent call last) <ipython-input-54-8d584fc326c3> in <module> 16 fil
---------------------------------------------------------------------------
Error Traceback (most recent call last)
<ipython-input-54-8d584fc326c3> in <module>
16 filesToMove = gen_find("B"+str(o)+"_*",src)
17 for name in filesToMove:
---> 18 shutil.move(name, dst)
Error: Destination path 'Dataset/300_train/1\B1_1.jpg' already exists
如果文件已经存在,我想跳过以复制该文件,正如您在评论中所说的,如果您想跳过文件(如果文件已经存在),只需一次
尝试就非常简单了。。。除了
块。您需要替换代码的这一部分
for name in filesToMove:
shutil.move(name, dst)
为此:
for name in filesToMove:
try:
shutil.move(name, dst)
except shutil.Error:
pass
您可能已经运行了几次代码,所以有些文件确实存在。如果你需要帮助,你必须告诉我们如果那里已经有文件,该怎么办。是否应跳过该副本?新文件是否应该覆盖旧文件?程序应该保留这两个,但重命名它们吗?我想跳过它。除了子句是危险的,它可以隐藏不相关的问题,并使调试变得困难。建议您使用
,除了OSError:
之外。@martineau您是对的,我对其进行了编辑以使其更具体
for name in filesToMove:
try:
shutil.move(name, dst)
except shutil.Error:
pass