【发布时间】:2021-03-15 11:41:44
【问题描述】:
我需要读取每行都有一些尾随空格的文件。例如(本例中的 • 用于表示空格):
dog•••••••
black•cat•
bird••••••
horse••
pig•••••••
每一行,除了horse••,都有10个字符,所以我必须从文件中删除horse••。
目前我正在使用以下代码:
with open(file_path, "r+") as f:
d = f.readlines()
f.seek(0)
for line in d:
print(len(line))
if len(line) == 11: # 10+1 (+1 is for the \n)
f.write(line)
f.truncate()
return
然后打印出来:
4
10
5
6
4
如何在 Python 中读取文件时还包含尾随空格?
【问题讨论】:
-
请确保您用于编辑文件的任何编辑器在保存时不会自动去除尾随空格。
-
您的输出数据将始终具有与输入相同的长度,因此覆盖现有文件不是最好的主意,因为它可能会留下不必要的数据。打开另一个文件进行输出并(如果需要)替换现有的
o_f.writelines(filter(lambda x: len(x.rstrip("\r\n")) == 10, f))
标签: python file whitespace readline