0

だから私はしばらくこの問題に悩まされてきました。bash スクリプトを実行する必要がある cgi python スクリプトがあります。コードに次の行があります。

os.system("/complete/path/to/executable/run_summary_page.sh " + labelName)

これを何時間もデバッグしようとしてきましたが、正しく実行されない理由がわかりません。コマンドラインからまったく同じ行を実行すると、完全に正常に動作します。そのbashスクリプトなどに正しい権限を与えましたが、まだ機能していません。注意してください、私は python 2.2 を使用せざるを得ないので、利用できるユーティリティの数に少し制限があります。

4

1 に答える 1

1

Python 2.2に戻ってきたものとないもののすべてを覚えているわけではありませんが、そのコマンドを呼び出して何が起こっているかを確認するための簡単な代替手段を試すことができます。

import commands
stat, output = commands.getstatusoutput("command")

これはコマンドを実行するための最も堅牢な方法ではありませんが、現在何が起こっているかを確認する簡単な方法です。その場合はstat失敗!= 0しました。また、stdoutとstderrの両方をoutput

stat == 0に興味深いものが何もない場合はoutput、bashスクリプトが何らかの状況に遭遇し、終了していて、実際には有用なものを何も出力していないと思われます。たぶんそれは特定の環境変数を期待していて、何かが正しくないときはただ無視して幸せに進んでいます。

于 2012-06-15T19:59:12.207 に答える