从文本文件中删除换行符

时间:2014-09-05 10:51:47

标签: python

如果我想从文本文件中删除换行符,请执行以下操作:

hello

there

我使用这样一个简单的代码:

with open('words.txt') as text:
  for line in text:
    print (line.strip())

输出:

hello

there

但是,我希望我的代码输出:

hello
there

我该怎么做?提前谢谢。

4 个答案:

答案 0 :(得分:2)

if line.strip() == '': continue声明之前添加print

答案 1 :(得分:1)

我看到两种方法可以达到你想要的效果。

  1. 逐行阅读

    with open('bla.txt') as stream:
        for line in stream:
            # Empty lines will be ignored
            if line.strip():
                print(line)
    
  2. 阅读所有内容

    import re
    with open('bla.txt') as stream:
        contents = stream.read()
        print re.sub('\s$', '', contents, flags=re.MULTILINE)
    

答案 2 :(得分:0)

如果您要删除的唯一换行符,则可以使用string.replace("\n", "")

或者如果它仅使用carraige返回而不是换行符(* nix),那么string.replace("\r", "")

詹姆斯

答案 3 :(得分:0)

您需要测试一行是否为空以解决此问题。

with open('words.txt') as text:
    for line in text:
        if line:
            print (line.strip())

在python中,空字符串是假的。也就是说,对空字符串的if-test将被视为false。