0

私はpythonが初めてです。目標は、サブプロセス解析を使用してシェル コマンドを実行し、シェルから印刷された出力を取得することです。以下のサンプル出力メッセージに示すように、実行エラーが発生します。また、サンプル コード スニペットを以下に示します。

コードスニペット:

testStr = "cat tst.txt | grep Location | sed -e '/.*Location: //g' "
print "testStr = "+testStr
testStrOut = subprocess.Popen([testStr],shell=True,stdout=subprocess.PIPE).communicate()[0]

出力:

testStr = cat tst.txt | grep Location | sed -e '/.*Location: //g' 
cat: tst.txt: No such file or directory
sed: -e expression #1, char 15: unknown command: `/'

使用できる回避策または機能はありますか?

あなたの助けに感謝します ありがとう

4

2 に答える 2

1

あなたの主なエラーはpython関連ではないと思います。より正確には、それらの3つがあります。

  1. するのを忘れていましたimport subprocess
  2. である必要がありますsed -e 's/.*Location: //g'///gの代わりに書きましたs///g
  3. tst.txt存在しません。
于 2011-05-26T09:46:25.270 に答える
1

リストで囲むのではなく、最初の引数として testStr を直接渡す必要があります。"On Unix, with shell=True: ..." で始まるパラグラフsubprocess.Popenを参照してください。

于 2011-05-26T10:15:20.327 に答える