程序,使文件本身干净

时间:2018-11-11 03:37:32

标签: python

我有以下程序:

fhandle=open(filename,'r')
fhandle2=open(filename2,'w')
data=fhandle.read()
data=data.replace('{',"    ")
data=data.replace('}',"    ")
fhandle2.write(data)

这完成了工作,从字符串中删除了“ {}”,但是它涉及2个文件。我该如何做,以便第一个文件无需第二个文件就能自动清理?

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 +)