2016-03-17 119 views
-1

我正在使用Python調用另一個應用程序。我已經用subprocess.call()和subprocess.popen()方法用stdin和stdout參數嘗試運行另一個應用程序。我能夠打開新的新程序,但應用程序需要密碼登錄。請幫助我,如何將密碼傳遞給窗口應用程序。如何使用python將密碼傳遞給另一個程序

+0

什麼應用?它如何要求密碼?如果不知道應用程序的任何信息,我們無法幫助您。 – khajvah

+0

http://www.pythonforbeginners.com/systems-programming/how-to-use-the-pexpect-module-in-python 檢查是否有幫助 –

回答

0

它應該是這樣的:

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的解決方法。所以如果你喜歡有某種交互性,你必須嘗試別的。

相關問題