Python open("file", "w+") 没有创建不存在的文件
Python open("file", "w+") not creating a nonexistent file
Stack Overflow 上也存在类似的问题。我读过这样的问题,但他们没有解决我的问题。下面的简单代码会导致文件未找到错误。我是 运行 Python 3.9.1 Mac OS X 11.4
任何人都可以建议后续步骤来解决此问题的原因吗?
with open("/Users/root/test/test.txt", "w+") as f:
f.write("test")
Traceback (most recent call last):
File "/Users/root1/PycharmProjects/web_crawler/test.py", line 1, in <module>
with open("/Users/root/test/test.txt", "w+") as f:
FileNotFoundError: [Errno 2] No such file or directory: '/Users/root/test/test.txt'
**有时编译器无法找到您在 open() 函数中插入的任何路径。届时您可以默认保存在 IDE 保存程序的文件夹中。以下语法可能对您有所帮助 **
with open('test.txt', 'w+') as f:
f.write("xyz")
**此处 text.txt 将默认保存在 IDE 存储您编写的程序的文件夹中。您可以检查该文件夹是否符合 **
您对初始评论 post 阐明了您需要发生的事情。
下面假设
- 目录
Users/root1/
存在
- 您正在尝试在其中创建一个新的子目录+文件
import os
# Wrap this in a loop if you need
new_dir = 'test' # The variable directory name
new_path = 'Users/root1/' + new_dir + "/"
os.makedirs(os.path.dirname(new_path), exist_ok=True) # Create new dir 'Users/root1/${new_dir}/
with open(new_path + "test.txt", "w+") as f:
# Create new file in afore created directory
f.write("test")
这会根据变量 new_dir
创建一个新目录,并在其中创建文件 test.txt
。
Stack Overflow 上也存在类似的问题。我读过这样的问题,但他们没有解决我的问题。下面的简单代码会导致文件未找到错误。我是 运行 Python 3.9.1 Mac OS X 11.4
任何人都可以建议后续步骤来解决此问题的原因吗?
with open("/Users/root/test/test.txt", "w+") as f:
f.write("test")
Traceback (most recent call last):
File "/Users/root1/PycharmProjects/web_crawler/test.py", line 1, in <module>
with open("/Users/root/test/test.txt", "w+") as f:
FileNotFoundError: [Errno 2] No such file or directory: '/Users/root/test/test.txt'
**有时编译器无法找到您在 open() 函数中插入的任何路径。届时您可以默认保存在 IDE 保存程序的文件夹中。以下语法可能对您有所帮助 **
with open('test.txt', 'w+') as f:
f.write("xyz")
**此处 text.txt 将默认保存在 IDE 存储您编写的程序的文件夹中。您可以检查该文件夹是否符合 **
您对初始评论 post 阐明了您需要发生的事情。
下面假设
- 目录
Users/root1/
存在 - 您正在尝试在其中创建一个新的子目录+文件
import os
# Wrap this in a loop if you need
new_dir = 'test' # The variable directory name
new_path = 'Users/root1/' + new_dir + "/"
os.makedirs(os.path.dirname(new_path), exist_ok=True) # Create new dir 'Users/root1/${new_dir}/
with open(new_path + "test.txt", "w+") as f:
# Create new file in afore created directory
f.write("test")
这会根据变量 new_dir
创建一个新目录,并在其中创建文件 test.txt
。