-2

私は、サブプロセスを開き、プロセスが開いたときに表示されるプロンプトへの応答を書くさまざまな形式を見て、見て、試しました。「chpass」プロセスを呼び出してプロンプトに応じて応答する最も基本的な方法は何ですか。これは Mac OS X サーバー上にあります。

どの方法でプロセスを開いても、スクリプトはプロンプトに応答しません。

私は次のバリエーションを試しました:

pc = Popen(['chpass',name],stdin=PIPE)
pc.communicate(oldpassword)
pc.write(oldpassword)
pc.stdin.write(oldpassword)

おそらく、これを適切に使用する方法がわからないだけです。おそらく、chpass bashコマンドなどのプロセスを実行してコマンドを書き込むことができる例を含む非常に基本的なチュートリアルがあります。

4

1 に答える 1

2

必要なのはpexpectモジュールです。

使用例:

 child = pexpect.spawn('scp foo myname@host.example.com:.')
 child.expect ('Password:')
 child.sendline (mypassword)

もちろん、代わりにscp実行するコマンドの名前を書く必要があります。

于 2012-07-31T20:13:27.087 に答える