使文件清洁的程序

2024-09-30 14:20:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下程序:

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

这就完成了任务,从字符串中删除了{},但是它涉及两个文件。我怎样才能使第一个文件在不需要第二个文件的情况下自动清理呢


Tags: 文件字符串程序readdata情况openfilename
2条回答

由于您正在将文件加载到内存中,并且没有遇到问题,因此应该会发现截断第一个打开的文件并将其写入:

file.seek(0) #navigates to the beginning of the file
file.truncate() #deletes the contents 

从这里您可以像写入任何其他文件一样写入它。此文件应以读写方式打开(r+)

with open(filename, 'r+') as file:
    data=file.read()
    data=data.replace('{',"    ")
    data=data.replace('}',"    ")
    file.write(data)

这应该能奏效。使用文件模式r+可以读取和写入同一个文件,而不必打开两个单独的文件

相关问题 更多 >