被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

回到顶部