gpt4 book ai didi

Python检查shell命令的退出状态

转载 作者:太空狗 更新时间:2023-10-30 00:26:25 25 4
gpt4 key购买 nike

#运行shell命令的函数

def OSinfo(runthis):
#Run the command in the OS
osstdout = subprocess.Popen(runthis, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, close_fds=True)
#Grab the stdout
theInfo = osstdout.stdout.read() #readline()
#Remove the carriage return at the end of a 1 line result
theInfo = str(theInfo).strip()
#Return the result
return theInfo

# 闪存 raid 固件

OSinfo('MegaCli -adpfwflash -f ' + imagefile + ' -noverchk -a0')

#固件闪存的返回状态

?

推荐使用“subprocess.check_output()”的资源,但是,我不确定如何将其合并到函数 OSinfo() 中。

最佳答案

如果您只想返回 1 如果存在非零退出状态,请使用 check_call,任何非零退出状态都会引发我们捕获的错误并且 return 1 否则 ossdout 将是 0:

import subprocess
def OSinfo(runthis):
try:
osstdout = subprocess.check_call(runthis.split())
except subprocess.CalledProcessError:
return 1
return osstdout

如果传递参数列表,也不需要 shell=True。

关于Python检查shell命令的退出状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28030274/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com