我正在从标准输入读取我的 python 程序的输入(我已经为标准输入分配了一个文件对象)。输入的行数事先不知道。有时程序可能只有 1 行、100 行甚至根本没有行。
import sys
sys.stdin = open ("Input.txt")
sys.stdout = open ("Output.txt", "w")
def main():
for line in sys.stdin:
print line
main()
这是最接近我要求的。但这有一个问题。如果输入是
3
7 4
2 4 6
8 5 9 3
它打印
3
7 4
2 4 6
8 5 9 3
它在每一行之后打印一个额外的换行符。如何修复此程序或解决此问题的最佳方法是什么?
编辑:这是运行示例http://ideone.com/8GD0W7
EDIT2:感谢您的回答。我知道了错误。
import sys
sys.stdin = open ("Input.txt")
sys.stdout = open ("Output.txt", "w")
def main():
for line in sys.stdin:
for data in line.split():
print data,
print ""
main()
像这样更改程序,它按预期工作。:)