0

ターミナルから実行するadduser testuserと、コマンドはパスワードなどの質問をします。しかし、このコード:

import os
a = os.system('useradd testuser')

エラーコード0で存在します(問題はありません)。しかし、それは何の質問もしません。何故ですか?そして、どうすればそれを回避できますか。同じことをするサブプロセスも試しました。

4

2 に答える 2

8

これは、adduseruseraddが 2 つの異なるプログラムであるためです。前者はインタラクティブな質問をしますが、後者はしません。インタラクティブなプロンプトが必要な場合は、 を呼び出しadduser、 を使用subprocess.call()して実行します。

于 2012-07-18T20:32:12.560 に答える
2

終了しなかったということですか、それとも期待した結果が得られなかったということですか。

また、質問のテキストでは「adduser」と言いましたが、python コードでは「useradd」と言ったことに気付きましたか? これら 2 つの類似したコマンドを混同している可能性があります。

于 2012-07-18T20:34:31.527 に答える