我正在從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
提交
取消