我遇到了一个问题,我试图将文件从源移动到目标。脚本第一次运行时,如果文件/目录存在,它会抛出这个错误
Traceback (most recent call last):
File "/Users/fela/Downloads/script.py", line 118, in save_pics
os.mkdir(dst_pics)
FileExistsError: [Errno 17] File exists: '/Users/dela/Downloads/Dest/Pictures/'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/fela/Downloads/script.py", line 385, in <module>
save_pics(msg, user_name)
File "/Users/fela/Downloads/script.py", line 120, in save_pics
shutil.move(png, dst_pics)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/shutil.py", line 542, in move
raise Error("Destination path '%s' already exists" % real_dst)
shutil.Error: Destination path '/Users/fela/Downloads/Dest/Pictures/image001.png' already exists
这是我的代码:
^{pr2}$
好吧,你现在的问题是操作系统.mkdir()需要字符串或对字符串的引用。(就像我刚才说的,应该有“或”在它周围)
@Coldspeed在这个问题上再次击败了我。在
然后参考它。不是太狡猾了,接下来就跟着@Coldspeed来回答。在
我建议让目录一次,在循环之外。这将简化您的代码。在
如果出于某种原因需要在循环中创建目录,请在尝试创建之前添加代码以检查目录是否已经存在。在
例如
您需要这样做的原因是如果目录已经存在,
os.mkdir
将引发一个异常。它就是这样设计的。在在可能的情况下,@coldspeed指出的另一种方法是在循环之外创建目录,并传递任何执行选项(例如目录已经存在)。在
相关问题 更多 >
编程相关推荐