被python文件模式“w+”所迷惑從博士,模式“r+”、“w+”和“a+”打開文件以進行更新(注意,“w+”截斷文件)。在二進制模式下,在區分二進制文件和文本文件的系統上,將‘b’附加到模式中以打開文件;在沒有這種區別的系統上,添加‘b’沒有任何影響。和這里W+:打開一個既可寫又可讀的文件。如果文件存在,則覆蓋現有文件。如果該文件不存在,則創建一個用于讀寫的新文件。但是,如何讀取打開的文件w+?
3 回答

小怪獸愛吃肉
TA貢獻1852條經驗 獲得超1個贊
with
with open('somefile.txt', 'w+') as f: # Note that f has now been truncated to 0 bytes, so you'll only # be able to read data that you write after this point f.write('somedata\n') f.seek(0) # Important: return to the top of the file before reading, otherwise you'll just read an empty string data = f.read() # Returns 'somedata\n'
f.seek(0)
f.read()

阿晨1998
TA貢獻2037條經驗 獲得超6個贊
r
讀書用 r+
打開以進行讀寫(無法截斷文件) w
寫作用 w+
用于寫入和讀取(可以截斷文件) rb
用于讀取二進制文件。文件指針放在文件的開頭。 rb+
讀取或寫入二進制文件 wb+
寫入二進制文件 a+
打開供追加 ab+
打開一個文件,用于二進制文件的附加和讀取。如果文件存在,則文件指針位于文件的末尾。文件以附加模式打開。 x
打開以進行獨占創建,如果文件已經存在,則失敗(Python 3)
添加回答
舉報
0/150
提交
取消