在读取文件python时丢弃'\n'符号

yot*_*moo 1 python parsing

我正在解析一个大文本文件,如果我只能以某种方式读取没有'\n'符号的行,我的生活会轻松得多.例如:

Hello
World
Run Code Online (Sandbox Code Playgroud)

由python的返回readLines(){'Hello\n','World\n'},而我需要得到{'Hello','World'}.有没有办法只读取印刷的字符?

我知道可以使用正则表达式完成,但我希望有一种更简单的方法可以做到这一点.

谢谢!

Lev*_*von 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
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)