我有一个Python脚本“test1.py”,其中包含以下内容:
import sys
for line in sys.stdin:
print line
当我像这样调用脚本时
type some_file.txt | ipy test1.py
所有“some_file.txt”行都打印到控制台(如预期的那样)。但是,我的问题是脚本没有返回。看起来没有检测到EOF,因此stdin.read()方法阻止了脚本。
当我使用CPython
运行脚本时type some_file.txt | python test1.py
一切都按预期工作(即脚本在打印完最后一行后终止)。
对我来说,这看起来像是IronPython中的一个错误(我已经使用v2.7.4和v2.7.5进行了测试)。有人可以说这个吗?有一个很好的解决方法吗?