Python readline()不是用单个空格读取一行

时间:2016-01-16 13:02:33

标签: python python-3.x readline

我正在使用readline()读取文本文件。我的文件包含以下内容,第二行有空格:

!

"
#
$
%
& 

使用 -

打印读取值时
print("'%s'\n" % iso5_char)

打印 -

'!'

''

'"'

'#'

'$'

'%'

'&'

似乎readline()没有在第二行读取'space'。

我第一次使用python。我安装了python-3.5。我在这做什么错了?为什么没有阅读空间?

更新: 我正在阅读的文件的屏幕截图:

enter image description here

1 个答案:

答案 0 :(得分:4)

根据对原始问题的评论,您明确地使用此表达式删除空格:

iso5_char.rstrip()

来自rstrip的文档:

  

返回删除了尾随字符的字符串副本。如果省略chars或None,则删除空格字符。如果给定而不是None,则字符必须是字符串;字符串中的字符将从调用此方法的字符串末尾删除。

在这种情况下,"空白"指空格,制表符,换行符,回车符,换页符和垂直制表符。

如果您对rstrip的意图是仅删除尾随换行符,则可以将换行符传递给rstrip命令:

iso5_char.rstrip('\n')

或者,您可以简单地删除最后一个字符,因为它可以安全地认为它是换行符:

iso5_char[:-1]