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