打开文件的阅读和写作?
有没有办法打开文件的阅读和写作? 我以为“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”这样的模式。