我有这样的文件。
Girl: I am girl.
Boy:
I am boy
我正在使用此代码删除行间距。
import string
from itertools import ifilter, imap
print '\n'.join(ifilter(None, imap(string.strip, open('doc1.txt'))))
使用它,它给了我这个输出。
Girl: I am girl.
Boy:
I am boy
不会删除Boy:
和I am boy
之间的空格。我怎么能删除那个行空间?我希望以这种格式输出。
Girl: I am girl.
Boy: I am boy.
答案 0 :(得分:0)
读取文件,然后打印那些非空的行。
with open('test', 'r') as fd:
for l in fd:
if l != '\n':
print(l.strip())
答案 1 :(得分:0)
正则表达式应该接近。不幸的是,必须将整个文件内容读取为字符串。
import re
test_str = '''Girl: I am girl.
Boy:
I am boy
Dog: Bark
Cat:
Meow'''
regex = r':\s*\n+'
subst = ": "
for line in re.sub(regex, subst, test_str, 0, re.MULTILINE).split('\n'):
if line != '':
print (line.strip())
输出
Girl: I am girl.
Boy: I am boy
Dog: Bark
Cat: Meow