gpt4 book ai didi

Python - 子进程 - getstatusoutput

转载 作者:行者123 更新时间:2023-11-28 16:39:59 25 4
gpt4 key购买 nike

我也是 Python 和编程的新手。我从谷歌的 python 类中知道如何使用以下命令运行外部命令:

(status, output) = commands.getstatusoutput(cmd)
if status: ## Error case, print the command's output to stderr and exit
sys.stderr.write(output)
sys.exit(1)

但我认为 commands 模块即将过时。我想要状态和输出,所以如果有任何错误,我可以使用 sys.stderr.write() 打印输出。那么,subprocess 模块中是否有任何等效的命令?我目前正在使用:

subprocess.call(args,shell=False) now.

谢谢!

最佳答案

subprocess.getstatusoutput() in Python 3could be implemented as :

from subprocess import check_output, CalledProcessError, STDOUT

def getstatusoutput(cmd):
try:
data = check_output(cmd, shell=True, universal_newlines=True, stderr=STDOUT)
status = 0
except CalledProcessError as ex:
data = ex.output
status = ex.returncode
if data[-1:] == '\n':
data = data[:-1]
return status, data

两者都返回与原始 commands.getstatusoutput() 不同的 status。参见 Python Issue: Document & unittest the subprocess.getstatusoutput() status value .

关于Python - 子进程 - getstatusoutput,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20680507/

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