У меня есть код Python, который работает правильно, когда я использую python.exe для его запуска, но сбой, если я использую pythonw.exe.Python subprocess.call() не работает при использовании 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
Однако, если я не указать параметр '' стандартный вывод, subprocess.call() начинает нормально.
Я вижу, что pythonw.exe может перенаправлять сам вывод, но я не вижу, почему я заблокирован от указания stdout для нового потока.
В настоящее время у меня такая же проблема, я сделал большое приложение с PyQt4, и я не могу заставить селен работать без консоли. Скажите, пожалуйста, как это исправить. https://stackoverflow.com/questions/46520823/selenium-dont-work-after-exporting-to-exe-in-windowed-mode-in-pyinstaller – 2017-10-02 10:54:53