从sys.stdin解析不正确打印时的最后一个字符

时间:2018-01-29 11:19:43

标签: python

我正在学习Python,出于某种原因,我对负面索引有一个奇怪的问题。而不是获取最后一个字符我得到一个空字符串。而不是获得所有角色,但最后我得到了整个字符串。这是我正在使用的代码:

print('Starting loop')
for line in sys.stdin:
   last = line[-1]
   print 'last = ' + last 
   allButLast = line[:-1]
   print 'AllButLast = ' + allButLast

结果:

Starting loop
123
123
last =  

AllButLast = 123
last = 

AllButLast = 123

1 个答案:

答案 0 :(得分:4)

line = line.rstrip()循环的开头添加for以获得所需的值。目前,换行符被捕获为line[-1],因此您需要先将其删除。在您输入123之后输入的输入只不过是换行符