被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
提交
取消