0

pexpectを使ってこんなことをしたい

echild = pexpect.spawn('/bin/bash -c "sysinfo -v | grep "SCM"')
fout = file('/home/kiva/release_file.txt' , 'w+')
child.logfile = fout

問題は、そのコマンドをテキストファイルに出力したいのですが、spawn() でパイプを使用できないため、シェルを起動する必要があることです。bash シェルは sysinfo -v を理解せず、それについて文句を言います。

bashターミナルを開かずに目的の出力をファイルに取得できる方法を知っていますか? grep せずに spawn() メソッドを使用するだけで問題を解決できますが、完全に一致させる必要があるため、grep が必要です。

ありがとうございました

4

1 に答える 1

1

あなたの短い例から、これを達成するためになぜあなたが特にpexpectを使う必要があるのか​​分かりません。私はPopen道に行きます。役立つと思われるリンクは次のとおりです。

シェルパイプラインの交換-Popen

于 2012-10-13T19:11:07.640 に答える