最近写python脚本的时候遇到个读写文件的问题,当我用with open打开文件读文件的时候如果文件不存在就会报FileNotFoundError这个错误,并且在加入了try之后使用API里面的mknod()函数创建也不行,经过探索,得出几种读文件时文件不存在则创建文件的解决办法。
![图片[1]-python文件不存在时创建文件-uusu优素-乐高,模型,3d打印,编程](http://uusucn.zbbe.cn/wp-content/uploads/2024/01/5e732516636b0614.jpg)
仍然使用with open,但是mode参数为a,则当文件不存在时会自动创建,不会报错。
withopen("test.txt",mode='a',encoding='utf-8')asff:
print(ff.readlines())
在try块里面使用with open,然后捕获FileNotFoundError,使用os.mknod()函数创建文件,但是只适用于Linux,windows不能使用,因为windows下没有node概念。
importos
try:
withopen("test.txt",mode='r',encoding='utf-8')asff:
print(ff.readlines())
exceptFileNotFoundError:
os.mknod('test.txt')
print("文件创建成功!")
在捕获错误后,使用mode=w方式创建文件。
try:
withopen("test.txt",mode='r',encoding='utf-8')asff:
print(ff.readlines())
exceptFileNotFoundError:
withopen("test.txt",mode='w',encoding='utf-8')asff:
print("文件创建成功!")
importos
ifos.path.exists('test.txt'):
withopen('test.txt',mode='r',encoding='utf-8')asff:
print(ff.readlines())
else:
withopen("test.txt",mode='w',encoding='utf-8')asff:
print("文件创建成功!")原文来自:https://www.py.cn © 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END



















































暂无评论内容