我正在从stdin读取我的python程序的输入(我已将文件对象分配给stdin)。输入行数事先未知。有时程序可能会得到1行,100行甚至根本没有行。import syssys.stdin = open ("Input.txt")sys.stdout = open ("Output.txt", "w")def main(): for line in sys.stdin: print linemain()这是最接近我的要求的。但这有一个问题。如果输入是37 42 4 68 5 9 3它打印37 42 4 68 5 9 3它在每行之后打印一个额外的换行符。如何修复此程序,或者解决此问题的最佳方法是什么?
1 回答
UYOU
TA贡献1878条经验 获得超4个赞
pythonprint
语句添加了换行符,但是原始行上已经有换行符。您可以通过在末尾添加逗号来抑制它:
print line , #<--- trailing comma
对于python3(在其中print
变为函数),它看起来像:
print(line,end='') #rather than the default `print(line,end='\n')`.
或者,您可以在打印之前将换行符从行的结尾处去除:
print line.rstrip('\n') # There are other options, e.g. line[:-1], ...
但我认为那不是那么漂亮。
添加回答
举报
0/150
提交
取消