Tôi có một số mã Python hoạt động chính xác khi tôi sử dụng python.exe để chạy nó, nhưng thất bại nếu tôi sử dụng pythonw.exe.Python subprocess.call() thất bại khi sử dụng 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()
Các thông điệp mà tôi nhận được là:
Exception thrown: [Error 6] The handle is invalid
Tuy nhiên, nếu tôi không chỉ định tham số 'stdout', subprocess.call() bắt đầu ổn.
Tôi có thể thấy rằng pythonw.exe có thể đang chuyển hướng đầu ra chính nó, nhưng tôi không thể thấy tại sao tôi bị chặn chỉ định stdout cho một chuỗi mới.
Tôi hiện đang gặp sự cố tương tự, tôi đã tạo một ứng dụng lớn với PyQt4 và tôi không thể nhận selen để hoạt động mà không có bảng điều khiển. Vui lòng cho tôi biết cách khắc phục điều này. https://stackoverflow.com/questions/46520823/selenium-dont-work-after-exporting-to-exe-in-windowed-mode-in-pyinstaller –