0

pexpect.runコマンドの実行に使用しています。下記参照:

cmd = "grep -L killed /dir/dumps/*MAC-66.log"
output = pexpect.run(cmd)

これを実行すると、次のようにoutputなります。

grep: /dir/dumps/*MAC-66.log: No such file or directory

しかし、シェルで同じコマンドを実行すると、毎回機能します。問題はわかりません。どんな助けでも大歓迎です!pexpect.runでは、コマンドをなんらかの凝った方法で分割する必要がありますか?

4

1 に答える 1

1

シェルはグロブを解釈していますが、pexpectは解釈していません。pythonのglob.glob()関数を使用してglobを自分で評価するか、シェルで実行することができます。次に例を示します。

cmd = "bash -c 'grep -L killed /dir/dumps/*MAC-66.log'"

subprocessまた、必要なのがこのコマンドの出力である場合は、モジュールをチェックアウトする必要があります。

于 2012-10-17T12:37:17.293 に答える