在Python中,可以使用subprocess
模块来执行命令并捕获其退出码。下面是一个示例代码:
import subprocess
def run_command(command):
try:
# 执行命令并等待其完成
process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
output, error = process.communicate()
exit_code = process.returncode
# 返回输出、错误和退出码
return output, error, exit_code
except Exception as e:
# 处理异常
return None, str(e), -1
# 测试命令
command = "ls -l"
output, error, exit_code = run_command(command)
# 打印输出和错误信息
print("输出:", output.decode())
print("错误:", error)
# 打印退出码
print("退出码:", exit_code)
在上面的示例中,run_command
函数接受一个命令参数,并使用subprocess.Popen
执行该命令。然后,使用communicate
方法等待命令完成并捕获其输出和错误信息。最后,使用returncode
属性获取命令的退出码。
请注意,subprocess.Popen
函数的shell
参数设置为True
,以便在执行命令时使用shell。如果您不希望使用shell,请将其设置为False
。
上一篇:捕获每一组在“-”之间的单词。
下一篇:捕获命令行参数组的正则表达式