我正在尝试做最简单的事情,但我无法让它发挥作用。
我在我的工作目录中,我们称它为“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'
据我所知,我正在逐字逐句地从 stackoverflow 帖子中复制。想不通。
奇怪的是我可以直接在 C: Drive 中新建一个目录,比如:
# 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 写入我的工作目录。