被python文件模式“ w +”所混淆
模式“ r +”,“ w +”
和“ a +”
打开文件进行更新(请注意,“ w +”
会截断文件)。在区分二进制文件和文本文件的系统上,将“ b”追加到以二进制模式打开文件的模式;在没有此区别的系统上,添加“ b”无效。
与此
w +
:打开一个文件进行读写。如果文件存在,则覆盖现有文件。如果该文件不存在,请创建一个新文件以进行读写。
但是,如何读取打开的文件w+
?
回答:
假设你要打开的文件带有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()
调用将尝试从文件末尾读取,并将返回一个空字符串。
以上是 被python文件模式“ w +”所混淆 的全部内容, 来源链接: utcz.com/qa/405233.html