Python结果代码0

Python结果代码0

你好,我有这个问题,我正在 python 脚本中执行 shell 命令,问题是我得到两个结果而不是 1。第一个是我想要存储的 id,第二个是 0,我猜它是结果代码。

这是我的代码

import os
cmd = "/path/to/ctl so list | tail -1 | awk '{print $1}'" 
event_id = os.system(cmd) 
print(event_id) 

这是结果:

225
0

我怎样才能删除那个0。

谢谢

答案1

您的猜测是正确的,这0是 shell 命令的返回代码。os.system(cmd)正在执行你的命令并输出结果,然后返回代码被存储event_id并打印。

您应该改用该subprocess模块。

import subprocess
cmd = "/path/to/ctl so list | tail -1 | awk '{print $1}'" 
event_id = subprocess.check_output(cmd, shell=True).rstrip()
print(event_id)

相关内容