在python中从标准输入打印一行输出

时间:2014-08-14 10:59:22

标签: python python-3.x

我想从标准输入中读取一行,就像用逗号分隔的字符串一样,然后用一行中的附加字将它打印到同一行。但是,当打印出来时,额外的单词总是以新行打印出来。但我需要他们一行。

这是我的代码

while 1:
try:
    line = sys.stdin.readline()
except KeyboardInterrupt:
    break

if not line:
    break

additional = "END"
print(line+additional)

当我尝试时:

>>python3.4 output.py
>>a, b
>>a, b
>>END
>>

但我想要它:

>>python3.4 output.py
>>a, b
>>a, bEND

1 个答案:

答案 0 :(得分:3)

您的line包含换行符;从价值中删除它:

print(line.rstrip('\n') + additional)

str.rstrip()从最后删除字符;在这里我们要求它从line的末尾删除所有换行符;它返回一个删除了这些换行符的字符串对象。

演示:

>>> line = 'Hello, world!\n'
>>> line.rstrip('\n')
'Hello, world!'
>>> additional = 'END'
>>> print(line + additional)
Hello, world!
END
>>> print(line.rstrip('\n') + additional)
Hello, world!END