【发布时间】:2018-07-04 22:45:06
【问题描述】:
我在一个目录中有大约 4000 个 txt 文件。我想使用 for 循环在每个文件中用空格替换换行符。实际上,该脚本适用于该目的,但是当我保存文件时,它不会被保存或再次用换行符保存。这是我的脚本;
import glob
path = "path_to_files/*.txt"
for file in glob.glob(path):
with open(file, "r+") as f:
data = f.read().replace('\n', ' ')
f.write(data)
正如我所说,我可以用空格替换换行符,但最后它没有被保存。我也没有收到任何错误。
【问题讨论】:
-
在 'r+' 模式下打开文件几乎总是一个坏主意(因为当前位置的处理方式)。打开一个文件读取,读取数据,替换换行符,打开同一个文件文件写入,写入数据。
-
如果没有
f.seek(),我认为它不会像您所说的那样工作。