pexpect、os、sys のインポート
cmd = "sudo su -"
p = pexpect.spawn(コマンド、タイムアウト=60)
pass_expect = ".*assword.*" ("[sudo] password for user" というプロンプトが表示されるため)
p.expect(pass_expect)
print "パスワードが欲しい"
p.sendline("mypassword")
p.logfile = sys.stdout
p.sendline("ログアウト")
p.close()
上記のスクリプトの実行中に次のエラーが発生します
エラー
トレースバック (最新の呼び出しが最後):
p.expect(pass_expect) 内のファイル「test.py」、11 行目
ファイル「/usr/lib/python2.6/dist-packages/pexpect.py」、1311行目、expect
return self.expect_list(compiled_pattern_list, timeout, searchwindowsize)
ファイル "/usr/lib/python2.6/dist-packages/pexpect.py"、1325 行、expect_list 内
return self.expect_loop(searcher_re(pattern_list), timeout, searchwindowsize)
ファイル "/usr/lib/python2.6/dist-packages/pexpect.py"、1409 行目、expect_loop 内
raise TIMEOUT (str(e) + '\n' + str(self))
pexpect.TIMEOUT: read_nonblocking() でタイムアウトを超えました。
バージョン: 2.3 ($改訂: 399 $)
コマンド: /usr/bin/sudo
引数: ['/usr/bin/sudo', 'su', '-']
サーチャー: searcher_re:
0: re.compile(".*assword.*")
バッファ (最後の 100 文字): root@:~#
前 (最後の 100 文字): root@:~#
後:
match: なし match_index: なし exitstatus: なし flag_eof: False pid: 16933 child_fd: 3 closed: False timeout: 60
delimiter: logfile: なし logfile_read: なし logfile_send: なし maxread: 2000 ignorecase: False searchwindowsize: なし delaybeforesend: 0.05 delayafterclose: 0.1 delayafterterminate: 0.1
私は数日からこの問題に悩まされているので、誰かが私を助けてくれませんか.
どんな助けでも大歓迎です。ありがとう !!