无法创建文件夹 - FileNotFoundError: [WinError 2] 系统找不到文件

Posted

技术标签:

【中文标题】无法创建文件夹 - FileNotFoundError: [WinError 2] 系统找不到文件【英文标题】:Can't create folders - FileNotFoundError: [WinError 2] The system cannot find the file 【发布时间】:2019-11-21 14:30:14 【问题描述】:

我正在尝试做最简单的事情,但我无法让它发挥作用。

我在我的工作目录中,我们称它为“WorkDir”,就是这样:C:\WorkDir

我要创作:

newpath = 'C:\WorkDir\Video\Files'

if not os.path.exists(newpath):
    os.makedirs(newpath)

FileNotFoundError: [WinError 2] The system cannot find the file specified: 'C:\\WorkDir\\Video'

我不明白这个错误。当然它找不到文件,它不存在。显然我做错了什么,但无法弄清楚。

我也尝试使用句号“.”表示工作目录,但这也不起作用。

这些都不起作用:

# raw string 'r'
newpath = r'C:\WorkDir\Video\Files'

if not os.path.exists(newpath):
    os.makedirs(newpath)
# forward slashes
newpath = 'C:/WorkDir/Video/Files'

if not os.path.exists(newpath):
    os.makedirs(newpath)
# period
newpath = '.\WorkDir\Video\Files'

if not os.path.exists(newpath):
    os.makedirs(newpath)
# raw string
newpath = r'.\WorkDir\Video\Files'

if not os.path.exists(newpath):
    os.makedirs(newpath)


FileNotFoundError: [WinError 2] The system cannot find the file specified: '.\\WorkDir'

据我所知,我是逐字逐句从 *** 帖子中复制的。想不通。

奇怪的是我可以直接在C盘新建一个目录,比如:

# create new folder RandomFolder
newpath = r'C:\RandomFolder\Video\Files'

if not os.path.exists(newpath):
    os.makedirs(newpath)

但是,如果我尝试在工作目录中执行任何操作,我会收到错误消息。

编辑:完全错误:

FileNotFoundError                         Traceback (most recent call last)
<ipython-input-10-c7d3eec16936> in <module>
      2 
      3 if not os.path.exists(newpath):
----> 4     os.makedirs(newpath)
      5 
      6 # could add number of records to file name too

~\Anaconda3\lib\os.py in makedirs(name, mode, exist_ok)
    209     if head and tail and not path.exists(head):
    210         try:
--> 211             makedirs(head, exist_ok=exist_ok)
    212         except FileExistsError:
    213             # Defeats race condition when another thread created the path

~\Anaconda3\lib\os.py in makedirs(name, mode, exist_ok)
    219             return
    220     try:
--> 221         mkdir(name, mode)
    222     except OSError:
    223         # Cannot rely on checking for EEXIST, since the operating system

FileNotFoundError: [WinError 2] The system cannot find the file specified: 'C:\\WorkDir\\Video'

编辑 2,发现了一些东西:所以我刚刚注意到在我的笔记本顶部,自动保存失败。可能跟这个有关系。让我调查一下。很抱歉误报。

编辑 3: 已解决。这是 Windows 的“勒索软件保护”。不允许 Python 写入我的工作目录。

【问题讨论】:

最后的解决方案是尝试 C://usr// exists()调用还是makedirs()调用引发的错误? 请发布完整的错误信息 我已编辑添加完整错误。看起来是 os.makedirs(newpath) 造成的 我刚刚注意到我的 jupyter 笔记本上的自动保存失败。我想如果我解决这个问题,代码就会起作用。无论如何,谢谢你们的帮助。 【参考方案1】:

解决了。这是 Windows 的“勒索软件保护”。不允许 Python 写入我的工作目录。

【讨论】:

您是否找到了可靠的解决方案? 如果您想要一个强大的解决方案,请不要使用 Windows。这就是我得到的。您是否尝试在路径的最后添加反斜杠? 我相信吗?我假设Path 做了它需要做的任何事情。毯子允许 python.exe 通过受控文件夹访问上的块为我解决了。 感谢您确认。我在 C:/ 中创建了一个“工作”文件夹来进行编码,现在它有这个问题。我必须移动到“个人文件夹”,如 C:/Users/xxxx/ ,并且相同的代码在这个个人文件夹中运行良好。

以上是关于无法创建文件夹 - FileNotFoundError: [WinError 2] 系统找不到文件的主要内容,如果未能解决你的问题,请参考以下文章

无法创建临时文件夹错误5拒绝访问

无法创建目录或文件?急急急啊!!

警告1909,无法创建快捷方式。怎么办?

ORACLE中无法创建保存文件“afiedt.buf”如何解决

AVAssetExportSession 无法创建文件错误 -12115

访问权限不足,无法创建文件夹