2016-07-28 5 views
1

画面に印刷エラーメッセージなしでコマンドラインからエラーをキャッチする必要があります。これが発生したら、別のコマンドを実行する必要があります。私はいくつかのプロジェクトのためにこれを行うとコマンドラインPythonからエラーをキャッチ

hyst_cmd = "si viewhistory ..." 
process = subprocess.Popen(hyst_cmd, stdout=subprocess.PIPE) 
hyst = process.stdout.read().splitlines() 

は私が画面上に、エラーメッセージが表示されます。

は、これは私が今何をすべきかです。

私の英語のために申し訳ありません!

+0

あなたは '試すにこのコードを入れてみました-except'ブロック?これは例外をキャッチする良い方法で、 'except'ブロックで実行したい別の「コマンド」を指定することができます。 – shaktimaan

答えて

0

公式文書によると、サブプロセスのPopenの最も一般的な例外は、OSErrorです。エラーをキャッチする

、あなたは、単に次のようなアプローチ試すことができます。詳細については

hyst_cmd = "si viewhistory ..." 

try: 
    process = subprocess.Popen(hyst_cmd, stdout=subprocess.PIPE) 
    hyst = process.stdout.read().splitlines() 

except OSError: 
    <write_log_file or other action.> 

を、あなたは下のリンクをチェックすることができます。
Subprocess Exception

関連する問題