2012-03-18 5 views
0

私は現在、PythonでOSモジュールを使いこなしています。私がやりたいことは、コマンドラインで例外をキャッチし、同様に呼び出すことです。コマンドラインの例外Python OSモジュール

command = input("Enter a command:") 
os.system(command) 
except:............How do I do this? 

ユーザーが 'foo'などの無効なコマンドを入力したとします。どうすれば例外をキャッチできますか?

+2

実際には、 'os.system'ではなく' subprocess'を使用してください。 – Amber

答えて

1

例外はスローされません。あなたは第二行は、Pythonの出力はないことに留意されたい

>>> os.system('foo') 
sh: foo: not found 
32512 

)os.system(によって返されるシェルまたはコマンドの戻りコード、によって誤差を決定することができるかもしれません。

+0

戻りコードを取得するには、fooと入力すると、出力されるものはすべて foo sh:foo:コマンドが見つかりません – Billjk

+0

@ user1247509:returncode = os.system( 'foo'); if returncode!= 0:print( 'ERROR:無効なコマンド'); #0は通常の終了ステータスですが、その他のエラーはエラーです – pycoder112358