我正在編寫一些Python代碼來檢測選項ROM初始化的開始併發送相應的控制字符以進入選項ROM設置實用程序。這在大多數情況下都是可行的(control-C,control-Y,control-S ...),但是當control-R是所需密鑰時,字符不會被識別。通過Python發送Control-R不能識別Python/Pexpect
我懷疑這是因爲control-R是某種特殊控制字符,終端正在解釋並且沒有傳遞,但找不到任何對它的引用。我試着用ESC和其他一些控制字符來加前綴,但似乎無法使其識別。代碼很簡單:
CONTROL_R = '\x12'
print("Sending control-R to enter setup")
spawn_id.send(CONTROL_R) # send character to console
任何指針或建議表示讚賞。
什麼是你期望攔截它的「終端」?你是否產生了一個shell來運行該實用程序,而不是直接產生它? – abarnert
你能告訴你如何創建'spawn_id'嗎? –
我正在使用pexpect.spawn('ssh -o StrictHostKeyChecking = no -o UserKnownHostsFile =/dev/null -o PubkeyAuthentication = no username @ pw) – user2954311