嘗試在特定用戶模式下運行某些Windows應用程序。通過命令後,它會要求輸入密碼。因此,通過使用proc.communicate()的密碼,但它不工作,請幫助如何使用python在命令提示符下輸入用戶名後的密碼
from subprocess import Popen, PIPE
import time
cmd = "runas /user:administrator notepad.exe"
proc = Popen(cmd, stdout=PIPE, stdin=PIPE, stderr=PIPE)
print proc.stdout.read()
proc.communicate('password')
也許看到[這](http://stackoverflow.com/questions/30238840/run-program-from-command-line-what-prompts-password-and -automatically-provide-pa?rq = 1)線程。另外,也許你需要在密碼後發送'\ n'? – nbryans
按@nbryans的建議嘗試,但沒有運氣 – user3872486
您可以使用['WriteConsoleInput'](https://msdn.microsoft.com/en-us/library/ms687403)直接寫入控制檯輸入緩衝區。也就是說,'runas.exe'有一個'/ savecred'選項來使用保存的憑據。它第一次提示輸入密碼。保存的憑證列在控制面板的憑證管理器中,因此原則上可以通過['CredWrite'](https://msdn.microsoft.com/en-us/library/aa375187)添加它們,這將允許持續它們僅用於當前的登錄會話,而不是永久存儲在用戶的保管庫中。 – eryksun