掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
最近寫python腳本的時候遇到個讀寫文件的問題,當(dāng)我用with open打開文件讀文件的時候如果文件不存在就會報FileNotFoundError這個錯誤,并且在加入了try之后使用API里面的mknod()函數(shù)創(chuàng)建也不行,經(jīng)過探索,得出幾種讀文件時文件不存在則創(chuàng)建文件的解決辦法。

專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)貴州免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了1000多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
仍然使用with open,但是mode參數(shù)為a,則當(dāng)文件不存在時會自動創(chuàng)建,不會報錯。
with open("test.txt",mode='a',encoding='utf-8') as ff:
print(ff.readlines())在try塊里面使用with open,然后捕獲FileNotFoundError,使用os.mknod()函數(shù)創(chuàng)建文件,但是只適用于Linux,windows不能使用,因為windows下沒有node概念。
import os
try:
with open("test.txt",mode='r',encoding='utf-8') as ff:
print(ff.readlines())
except FileNotFoundError:
os.mknod('test.txt')
print("文件創(chuàng)建成功!")在捕獲錯誤后,使用mode=w方式創(chuàng)建文件。
try:
with open("test.txt",mode='r',encoding='utf-8') as ff:
print(ff.readlines())
except FileNotFoundError:
with open("test.txt", mode='w', encoding='utf-8') as ff:
print("文件創(chuàng)建成功!")不使用try塊,使用os.path.exists()方法判斷文件是否存在,如果不存在則創(chuàng)建文件。
import os
if os.path.exists('test.txt'):
with open('test.txt',mode='r',encoding='utf-8') as ff:
print(ff.readlines())
else:
with open("test.txt", mode='w', encoding='utf-8') as ff:
print("文件創(chuàng)建成功!") 
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流