打开文件的阅读和写作?

有没有办法打开文件的阅读和写作? 我以为“r +”是为了那个。
因为我正在处理二进制文件,所以我尝试了“r + b”模式,但是我得到一个文件没有打开的错误。

以下是如何读取文件,然后写入(覆盖任何现有数据),而不closures和重新打开:

 with open(filename, "r+") as f: data = f.read() f.seek(0) f.write(output) f.truncate() 

r+是同时读写的规范模式。 这与使用fopen()系统调用没有区别,因为file() / open()只是这个操作系统调用的一个小包装。

我试过这样的事情,它按预期工作:

 f = open("c:\\log.log", 'r+b') f.write("\x5F\x9D\x3E") f.read(100) f.close() 

哪里:

f.read(size) – 要读取文件内容,请调用f.read(size),它读取一定数量的数据并将其作为string返回。

和:

f.write(string)将string的内容写入文件,返回None。

另外,如果你打开关于读写文件的Python教程,你会发现:

'r +'打开文件读取和写入。

在Windows上,附加到模式的“b”以二进制模式打开文件,所以也有像“rb”,“wb”和“r + b”这样的模式。