使用Python从文件中删除空格和空行

2024-05-19 00:25:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含值2000,00的文件。

但它包含2000,00之后的空格和空行。

我想删除所有的空格和空行,如果有人能给一些想法,我已经尝试了很多方法,但没有成功。

我厌倦的一种方法是

    # Read lines as a list
fh = open("transfer-out/" + file, "r")
lines = fh.readlines()
fh.close()
# Weed out blank lines with filter
lines = filter(lambda x: not x.isspace(), lines)
# Write "transfer-out/"+file+".txt", "w"
fh = open("transfer-out/"+file, "w")
#fh.write("".join(lines))
# should also work instead of joining the list:
fh.writelines(lines)
fh.close()

Tags: 文件方法closereadasopenfilterout
3条回答

另一个列表理解:

clean_lines = []
with open("transfer-out/" + file, "r") as f:
    lines = f.readlines()
    clean_lines = [l.strip() for l in lines if l.strip()]

with open("transfer-out/"+file, "w") as f:
    f.writelines('\n'.join(clean_lines))

改变你的'线'线使用以下发电机,它应该做的伎俩。

lines = (line.strip() for line in fh.readlines() if len(line.strip()))

strip()删除前导和尾随空白字符。

with open("transfer-out/" + file, "r") as f:
    for line in f:
        cleanedLine = line.strip()
        if cleanedLine: # is not empty
            print(cleanedLine)

例如,您可以将脚本重定向到文件python clean_number.py > file.txt

相关问题 更多 >

    热门问题