我编写了一个 python 脚本,它从 txt 文件读取并执行基本任务,例如添加新行、删除和编辑现有行。为了删除和编辑,我使用“readlines()”将整个文件作为列表加载,然后使用编辑的列表覆盖文件。这会增加数据丢失的可能性。所以我的问题是,我是否可以编辑txt文件而不覆盖它们?
传统的解决方案是将原始文件复制到.sav
文件,然后将新编辑的版本写入原始文件名:
>>> import os
>>> filename = 'somefile.txt'
>>> with open(filename) as f:
lines = f.readlines()
>>> basename, ext = os.path.splitext(filename)
>>> savefile = basename + '.sav'
>>> os.rename(filename, savefile)
>>> lines = map(str.upper, lines) # do your edits here
>>> with open(filename, 'w') as f:
f.writelines(lines)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)