我喜欢使用os模块中的system()命令。有没有办法检查命令是否给我回复?我有代码来终止命令,如果它没有在x秒内完成,但我想改进它以终止它,如果它没有在x秒内回复。
谢谢!
答案 0 :(得分:3)
这取决于您对“回复”的意思。 os.system()
返回命令的退出状态(为int,通常为0表示成功)。如果这还不够,请查看subprocess模块。
答案 1 :(得分:1)
您没有说出您正在运行的操作系统。唉,它与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