我在一个目录中有大约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)
正如我所说的,我可以用空格替换换行符,但在最后,它不会被保存。我也没有得到任何错误。
发布于 2018-07-05 06:56:20
您需要使用seek
将文件位置重置为0,然后在编写完替换字符串后使用truncate
截断剩余的内容。
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.seek(0)
f.write(data)
f.truncate()
https://stackoverflow.com/questions/51181505
复制相似问题