gpt4 book ai didi

python - 尝试使用 open(filename, 'w' ) 给出 IOError : [Errno 2] No such file or directory if directory doesn't exist

转载 作者:IT老高 更新时间:2023-10-28 20:38:18 24 4
gpt4 key购买 nike

我正在尝试使用 Python 创建和写入文本文件。我已搜索并找不到此错误的解决方案/原因。

这是不起作用的代码:

afile = 'D:\\temp\\test.txt'
outFile = open(afile, 'w' )
outFile.write('Test.')
outFile.close()

# Error: 2
# Traceback (most recent call last):
# File "<maya console>", line 1, in <module>
# IOError: [Errno 2] No such file or directory: 'D:\\temp\\test.txt' #

我发现的大多数答案都与路径中的斜线有关,所以...

I tried 'D:/temp/test.txt' and got an error.
I tried r'D:\temp\test.txt' and got an error.

当我尝试在 D:/的根目录创建文件时,我成功了。

'D:/test.txt' works.
'D:\\test.txt' works.
r'D:\test.txt' works.

我在尝试创建文件时似乎无法创建我想要的目录路径。在 Windows(7)上使用 Python 在特定路径创建文件的正确方法是什么?我是否误解了 open() 可以做什么?如果目录不存在,它会创建目录,还是我需要在“写入”模式下使用 open() 来创建文件之前显式创建目录路径?

最佳答案

您正确地推测文件的父目录必须存在才能使 open 成功。处理此问题的简单方法是调用 os.makedirs .

来自 documentation :

os.makedirs(path[, mode])

Recursive directory creation function. Like mkdir(), but makes all intermediate-level directories needed to contain the leaf directory.

所以你的代码可能会像这样运行:

filename = ...
dirname = os.path.dirname(filename)
if not os.path.exists(dirname):
os.makedirs(dirname)
with open(filename, 'w'):
...

关于python - 尝试使用 open(filename, 'w' ) 给出 IOError : [Errno 2] No such file or directory if directory doesn't exist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18758673/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com