首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么我会收到错误:"FileExistsError:[WinError 183]在该文件已经存在时不能创建该文件“?

为什么我会收到错误:"FileExistsError:[WinError 183]在该文件已经存在时不能创建该文件“?
EN

Stack Overflow用户
提问于 2019-02-02 07:32:34
回答 4查看 39.7K关注 0票数 11

如果我的脚本创建了一个文件夹,为什么我会出错?我在Windows 7上使用Python。错误:

FileExistsError: WinError 183在该文件已经存在时无法创建该文件:指向有关文件或文件夹的路径

问题是文件和文件夹不存在。

EN

回答 4

Stack Overflow用户

发布于 2020-03-10 17:50:45

我刚刚遇到了同样的问题。这条线索帮助我解决了这个问题,但下面的澄清可能会对某人有所帮助:

对我来说,误解来自shutil.copytree(source, destination, symlinks, ignore)

我把destination看作是我复制的树的去处。实际上,它创建了那个位置,然后在那里复制树。因此,如果您的目标目录已经存在,就像我的目录一样,您将得到错误。

希望这能帮到别人。

票数 9
EN

Stack Overflow用户

发布于 2019-02-02 09:41:46

正如注释所指出的,该文件夹已经存在。您似乎认为尝试创建一个已经存在的文件夹不应该做任何事情。但Windows并不是这么看的。

若要避免错误消息,请先检查文件夹是否存在。在创建文件夹的代码之前,请执行

代码语言:javascript
运行
复制
if not os.path.exists("name of folder"):
票数 8
EN

Stack Overflow用户

发布于 2022-02-02 12:03:49

我只是遇到了一个稍微微妙的版本,这可能会对其他人有所帮助。

我正在创建一个文件夹,其中包括:

os.makedirs(os.path.dirname(my_filename), exist_ok=True)

它应该创建文件夹,但如果该文件夹已经存在,则不会出错。我没问题就跑了这么多次。

再次运行它,并得到一个错误:

代码语言:javascript
运行
复制
FileExistsError: [WinError 183] Cannot create a file when that file already exists: '\my\folder\path'

最后,通过将输出文件夹重命名为其他东西,我将输出文件夹从以前的运行中保存下来,以便进行比较。

这不应该造成问题,但我仍然有一个文件从文件夹打开在记事本。因此,由于仍然存在对文件夹的活动引用,操作系统抛出了一个错误。

用记事本关闭文件,重新运行,工作正常。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54491021

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档