我有以下程序:
fhandle=open(filename,'r')
fhandle2=open(filename2,'w')
data=fhandle.read()
data=data.replace('{'," ")
data=data.replace('}'," ")
fhandle2.write(data)
这完成了工作,从字符串中删除了“ {}”,但是它涉及2个文件。我该如何做,以便第一个文件无需第二个文件就能自动清理?
答案 0 :(得分:2)
with open(filename, 'r+') as file:
data=file.read()
data=data.replace('{'," ")
data=data.replace('}'," ")
file.write(data)
应该可以解决问题。使用文件模式r +,您可以读取和写入同一文件,而不必打开2个单独的文件。
答案 1 :(得分:1)
由于您正在将文件加载到内存中并且没有遇到问题,因此应该会发现第一个打开的文件被截断并只是写入:
file.seek(0) #navigates to the beginning of the file
file.truncate() #deletes the contents
从这里您可以像写入其他任何文件一样对其进行写入。该文件应以读写方式打开。 (r +)