小编典典

当我仅使用脚本名称在Windows上运行Python脚本时,无法重定向输出

python

它在Windows 7(64位),带有Win32 Extensions for Python的Python 2.6上运行。

我有一个简单的脚本,仅打印“ hello world”。我可以用启动它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程序
。但这是很久以前的事了。它没有提及任何解决方案。

有人经历过吗?有人可以帮忙吗?


阅读 161

收藏
2020-12-20

共1个答案

小编典典

你在问这个吗?

Windows:在命令行中使用文件类型关联(例如,启动“ script.py”而不是“ python
script.py”)执行Python脚本时,除非您设置了特定的注册表项,否则重定向可能不起作用。如果从文件关联开始,请参阅知识库文章STDIN
/ STDOUT重定向可能不起作用

它在Python自述文件中。也许此修补程序正是您想要的。

2020-12-20