2012-03-18 25 views
0

我目前正忙於在Python中操作系統模塊,並且我想要做的是在命令行上捕獲異常,並提升它們。命令行Python OS模塊上的異常

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

假設用戶輸入一個無效的命令,如'foo'。我怎樣才能捕捉到異常?

+2

你真的應該使用'subprocess'而不是'os.system'。 – Amber 2012-03-18 20:12:23

回答

1

你不能,沒有例外拋出。您可能能夠通過外殼或命令,這是由使用os.system()返回

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

注意的返回碼判斷錯誤,第二行是不是蟒蛇的輸出。

+0

如何獲取返回碼,當我輸入foo時,打印出的所有內容是: foo sh:foo:command not found – Billjk 2012-03-18 20:13:20

+0

@ user1247509:returncode = os.system('foo');如果returncode!= 0:print('ERROR:invalid command'); #0是正常的退出狀態,任何事情都是錯誤 – pycoder112358 2012-03-18 21:36:19