假设我有一个文件列表,我想遍历它,为每个文件读取它的内容,将内容发送到一个函数processContent()
,然后将所有内容写回到文件。下面的代码是否是一个适当的方法来做到这一点?在同一迭代中读取和写入文件
for curfile in files:
with open(curfile, 'r+') as infile
content = infile.read()
processed_content = processContent(content)
infile.write(processed_content)
换句话说,在相同的迭代中读写。
我相信在写入之前你会想'infile.seek(0)'...真的应该只使用2个句柄... –
我更喜欢使用临时文件,然后将其重命名为原始文件名。 –
@StevenRumbalski我看到你在说什么,但是它会导致一个问题,因为我也在迭代文件? –