Подтвердить что ты не робот

Windows - работает .py прямо против запуска python blah.py ведет себя по-другому

У меня есть python script, который использует подпроцесс:

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" % *

Так может кто-нибудь объяснить разницу?

4b9b3361

Ответ 1

У меня была общая проблема с использованием потоков, но весь мой код был в python. Нити не могут записываться на стандартный вывод с использованием печати. Только основной поток может это сделать. Я использовал somethnig как это

import sys
sys.stdout.write("this was printed by thread")

Я знаю, что, вероятно, это не поможет вам с файлом bat...