-1
我正在使用Python調用另一個應用程序。我已經用subprocess.call()和subprocess.popen()方法用stdin和stdout參數嘗試運行另一個應用程序。我能夠打開新的新程序,但應用程序需要密碼登錄。請幫助我,如何將密碼傳遞給窗口應用程序。如何使用python將密碼傳遞給另一個程序
我正在使用Python調用另一個應用程序。我已經用subprocess.call()和subprocess.popen()方法用stdin和stdout參數嘗試運行另一個應用程序。我能夠打開新的新程序,但應用程序需要密碼登錄。請幫助我,如何將密碼傳遞給窗口應用程序。如何使用python將密碼傳遞給另一個程序
它應該是這樣的:
import subprocess
args = [app_path, add_arguments]
process = subprocess.Popen(args, subprocess.PIPE, stdout = subprocess.PIPE, stderr = subprocess.PIPE)
process.stdin.write(bytes(yourpwd + "\n"))
output = process.communicate()
雖然打開與POPEN您的應用程序,與由子管理的管這個應用程序的標準輸入流連接。之後,您可以直接寫入此流,就像在控制檯窗口中輸入內容一樣。但是,您必須將所有內容都發送至process.communicate()
,因爲它會完成輸入並等待程序結果。請注意,您的申請在致電communicate
後關閉。
我還沒有找到避免process.communicate
的解決方法。所以如果你喜歡有某種交互性,你必須嘗試別的。
什麼應用?它如何要求密碼?如果不知道應用程序的任何信息,我們無法幫助您。 – khajvah
http://www.pythonforbeginners.com/systems-programming/how-to-use-the-pexpect-module-in-python 檢查是否有幫助 –