我有一个shell脚本abc.sh
,它使用custom_package.py
函数调用从Python脚本subprocess.call
调用。我想从abc.sh
返回一个值并在Python中读取它。
Python对shell脚本的调用如下。
subprocess.call(['abc.sh', user, password])
abc.sh
回声“正在运行”或“未运行”。如何在Python脚本中捕获“正在运行”或“未运行”?类似的东西:
ret_val = subprocess.call(['abc.sh', user, password])
我已经尝试了subprocess.check_output
,但它无效。
ret_val = subprocess.check_output(['abc.sh', user, password])
答案 0 :(得分:3)
使用subprocess.check_output
捕获子进程的输出。如果字符串'not'
不在返回值中,则输出只是'running'
。
output = subprocess.check_output(['abc.sh', user, password])
print(output)
running = 'not' not in output