我有一个使用子python脚本:窗口 - 直接VS运行蟒蛇blah.py运行的.py行为不同
import subprocess
print "Running stuff"
subprocess.check_call(["do_stuff.bat"])
print "Stuff run"
如果这个被命名为blah.py,我跑(从命令提示符) :
python blah.py
我将得到do_stuff.bat(或任何我运行的)的输出。
如果这样运行的:
blah.py
然后,我没有得到来自do_stuff.bat输出,只打印报表。
到目前为止在Windows Server 2003上出现过。Python版本2.5.2(由于各种原因卡在那里)。 望着关联的文件类型的动作我看:
Python.File = “C:\ Python25 \ python.exe” “%1” %*
因此,谁能解释的区别?
我会大胆地猜测,说显式调用蟒蛇使得终端标准出来,而只是调用文件管道在其他地方标准化。我无法确认这个预感。 – Exelian
在运行Python 2.6.6的Windows 7 64位上,从批处理中输出的数据在自行调用blah.py之后会打印到屏幕上。 – Helbreder
在我的Windows 7 32位上运行Python 2.6.6无法重现它。 –