Python subprocess.call () завершается ошибкой при использовании pythonw.exe
У меня есть некоторый код Python, который работает правильно, когда я использую python.exe для его запуска, но не работает, если я использую pythonw.exe.
def runStuff(commandLine): outputFileName = 'somefile.txt' outputFile = open(outputFileName, "w") try: result = subprocess.call(commandLine, shell=True, stdout=outputFile) except: print 'Exception thrown:', str(sys.exc_info()[1]) myThread = threading.Thread(None, target=runStuff, commandLine=['whatever...']) myThread.start()
Я получаю сообщение:
Exception thrown: [Error 6] The handle is invalid
Однако, если я не укажу параметр 'stdout', subprocess.call () запустится нормально.
Я вижу, что pythonw.exe может перенаправлять сам вывод, но я не понимаю, почему я не могу указать стандартный вывод для нового потока.