Python subprocess.call () falla cuando se usa pythonw.exe
Tengo un código de Python que funciona correctamente cuando uso python.exe para ejecutarlo, pero falla si uso 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()
El mensaje que recibo es:
Exception thrown: [Error 6] The handle is invalid
Sin embargo, si no especifico el parámetro 'stdout', subprocess.call () comienza bien.
Puedo ver que pythonw.exe podría estar redirigiendo la salida en sí, pero no puedo ver por qué estoy bloqueado de especificar stdout para un nuevo hilo.