它在Windows 7(64位),带有Win32 Extensions for Python的Python 2.6上运行。
我有一个简单的脚本,仅打印“ hello world”。我可以用启动它python hello.py。在这种情况下,我可以将输出重定向到文件。但是,如果我仅hello.py通过在命令行上键入并重定向输出来运行它,就会出现异常。
python hello.py
hello.py
C:> python hello.py hello world C:> python hello.py >output C:> type output hello world C:> hello.py hello world C:> hello.py >output close failed in file object destructor: Error in sys.excepthook: Original exception was:
我想我是在升级到Windows 7后首先得到此错误的。我记得它应该在XP中工作。我见过有人在谈论这个错误python-Bugs-1012692 | 无法通过管道将输入传递到python程序。但这是很久以前的事了。它没有提及任何解决方案。
有人经历过吗?有人可以帮忙吗?
你在问这个吗?
Windows:在命令行中使用文件类型关联(例如,启动“ script.py”而不是“ python script.py”)执行Python脚本时,除非您设置了特定的注册表项,否则重定向可能不起作用。如果从文件关联开始,请参阅知识库文章STDIN / STDOUT重定向可能不起作用。
它在Python自述文件中。也许此修补程序正是您想要的。