我喜歡從os模塊使用system()命令。有沒有辦法檢查命令是否給我回復?我有代碼來終止命令,如果它沒有在x秒內完成,但我想改進它來終止它,如果它沒有在x秒內回覆。檢查os.system()回覆
謝謝!
我喜歡從os模塊使用system()命令。有沒有辦法檢查命令是否給我回復?我有代碼來終止命令,如果它沒有在x秒內完成,但我想改進它來終止它,如果它沒有在x秒內回覆。檢查os.system()回覆
謝謝!
這取決於您的意思與「答覆」。 os.system()
返回命令的退出狀態(這是一個int,成功通常爲0)。如果這還不夠,請查看subprocess模塊。
你沒有說你在哪個操作系統上運行。唉,Windows和Linux是不同的。這是我做的:
import os
try:
WEXITSTATUS = os.WEXITSTATUS
except AttributeError: # running on Windows
def WEXITSTATUS(arg):
return arg
os.environ["HOME"] = os.environ["USERPROFILE"]
if WEXITSTATUS(os.system(cmd)) != 0:
pass # bad return value
else:
pass # good return value
謝謝,但我在linux上運行它 – Illusionist 2011-04-20 06:58:40
然後你需要'os.WEXITSTATUS'來獲得退出狀態。 – Keith 2011-04-20 11:10:55
你是什麼意思的'reply'? 'os.system()'返回的唯一值就是退出狀態... – 2011-04-19 21:01:06
我在linux上運行..讓我說我鍵入os.system(「ls」)然後它列出所有的文件,這就是我的意思是回覆。 – Illusionist 2011-04-20 06:57:51