如何同时打开一个文件进行读写?
有没有办法同时打开一个文件进行读和写呢?
我现在的做法是先打开文件进行写操作,写完后把文件关闭,然后再重新打开进行读操作。但有没有办法可以同时打开一个文件,既能读又能写呢?
4 个回答
53
r+
是一种常用的模式,用来同时进行读取和写入操作。这和使用 fopen()
这个系统调用没有什么区别,因为 file()
/ open()
只是对这个操作系统调用的一个简单封装。
445
下面是如何读取一个文件,然后写入数据(会覆盖掉原有的数据),而不需要关闭再重新打开文件的方法:
with open(filename, "r+") as f:
data = f.read()
f.seek(0)
f.write(output)
f.truncate()