私はos.popen(cmd)を使ってisqlを使ってデータベースに接続しています。これはUnixのPythonバージョン2.3.4です。私は、エラー処理を実装しようとしている、そしてこのようなと呼ばれるサブプロセスで発生するエラー/例外を捕捉するための効率的な方法 あります場合、私はなど、標準エラーに対処することなく、Python - サブプロセスの例外をキャプチャ
おかげで、
ダン
私はos.popen(cmd)を使ってisqlを使ってデータベースに接続しています。これはUnixのPythonバージョン2.3.4です。私は、エラー処理を実装しようとしている、そしてこのようなと呼ばれるサブプロセスで発生するエラー/例外を捕捉するための効率的な方法 あります場合、私はなど、標準エラーに対処することなく、Python - サブプロセスの例外をキャプチャ
おかげで、
ダン
いいえ、あなたが得るすべては
pclose
プロセスpopen
あなたがstdoutとエラーを返すことができるようになります。この
sql_stdout_stderr = subprocess.Popen(sql_command, stdout=subprocess.PIPE)
#communicate returns a tuple
stdout, stderr = sql_stdout_stderr.communicate()
このようにそれを行うことができるはず。 stderrに何かが含まれている場合、空であればエラー処理は行われません。
Goodluck!
編集:私はstderrに対処したくないと言っていますが、本当に管理しやすいようにすべてをうまく処理するサブプロセスを使用すべきだと思います。
ありがとう残念ながら、私はサブプロセスモジュールを含まないPython 2.3を使用しています。私はos.popen3を使ってstderrを得ることができますが、私の目的にはそれほど実用的ではありません。 – Dan
この 'isql'プログラムは出力を制御するPythonスクリプトですか? –
UNIX上で実行可能なプログラムはありません – Dan
http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.help.ase_15.0.utility/html/utility/utility210.htm – Dan