我正在解析一个大文本文件,如果我只能以某种方式读取没有'\n'符号的行,我的生活会轻松得多.例如:
Hello
World
Run Code Online (Sandbox Code Playgroud)
由python的返回readLines()的{'Hello\n','World\n'},而我需要得到{'Hello','World'}.有没有办法只读取印刷的字符?
我知道可以使用正则表达式完成,但我希望有一种更简单的方法可以做到这一点.
谢谢!
您可以使用该rstrip()函数来消除尾随换行符.对于您的具体示例:
In [9]: s = {'Hello\n','World\n'}
In [10]: s
Out[10]: set(['World\n', 'Hello\n'])
In [12]: for i in s:
....: print i
World
Hello
In [13]: for i in s:
....: print i.rstrip()
World
Hello
Run Code Online (Sandbox Code Playgroud)
更多信息请访问:http://docs.python.org/library/string.html
您可能会在阅读文件时考虑删除换行符:
with open('data.txt') as infp:
for line in infp:
line = line.rstrip()
# rest of processing
Run Code Online (Sandbox Code Playgroud)