【发布时间】:2016-11-07 16:53:41
【问题描述】:
我正在尝试从文本文件中删除空白行,所以如果我有例如:
line 1
line 2
line 3
line 4
line 5
文件处理后的结果应该是这样的:
line 1
line 2
line 3
line 4
line 5
我搜索了堆栈溢出,这是我到目前为止得出的结果:
with open('file.txt', 'r+', encoding='utf-8') as file:
for line in file:
if line.strip():
file.write(line)
除了有点不方便外,这一切都很好;不是用新内容替换原始内容,而是将结果附加到文件末尾,如下所示:
line 1
line 2
line 3
line 4
line 5line 1
line 2
line 3
line 4
line 5
我的问题是,有什么方法可以在没有外部存储的情况下在 for 循环中解决此问题(将结果存储在文件或列表中并将其写回文件中)?或者如果有更好的方法请分享。
我希望我的问题很清楚,谢谢。
【问题讨论】:
-
打开第二个文件进行输出。然后在完成删除第一个文件并将第二个重命名为原始名称