Python subprocess.call () falha ao usar pythonw.exe
Eu tenho algum código Python que funciona corretamente quando eu uso o python.exe para executá-lo, mas falha se eu usar o 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()
A mensagem que recebo é:
Exception thrown: [Error 6] The handle is invalid
No entanto, se eu não especificar o parâmetro 'stdout', subprocess.call () começará bem.
Vejo que pythonw.exe pode estar redirecionando a saída em si, mas não vejo por que estou impedido de especificar stdout para um novo thread.