我正在解析一个大文本文件,如果我只能以某种方式读取没有'\ n'符号的行,那么我的生活就会轻松得多。例如:
Hello
World
python的readLines()
将{p}作为{'Hello\n','World\n'}
返回,而我需要{'Hello','World'}
。有没有办法只读取印刷的字符?
我知道可以使用正则表达式完成,但我希望有一种更简单的方法。
谢谢!
答案 0 :(得分:5)
您可以使用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
此处提供更多信息:http://docs.python.org/library/string.html
您可能会在阅读文件时考虑删除换行符:
with open('data.txt') as infp:
for line in infp:
line = line.rstrip()
# rest of processing
答案 1 :(得分:1)
with open('test_file.txt') as f:
my_list = [line.rstrip() for line in f]
如果您不想存储数据,只想打印(或做任何您想做的事情),您可以这样做:
with open('test_file.txt') as f:
for line in f:
print line.rstrip() #or do whatever you want to
答案 2 :(得分:0)
您也可以使用切片删除换行符:
s = "Hello\n"
print s[:-1]
"Hello"