【发布时间】:2021-11-28 16:14:10
【问题描述】:
我有一个现有的带有命令参数的 python 脚本,它输出如下所示的字符串。我正在尝试将其调用到另一个 python 脚本中,并通过另一个变量动态传递 prodName。
我尝试了类似这样的方法:
#!/usr/bin/env python
import subprocess
subprocess.call("/usr/st/getProdID.py ProdName=someProd_name Prod_config=/usr/st/prod/prod_id.txt", shell=True)
输出:
Ad897
我无法将此输出重定向到变量
#!/usr/bin/env python
import subprocess
pid = subprocess.call("/usr/st/getProdID.py ProdName=someProd_name Prod_config=/usr/st/prod/prod_id.txt", shell=True)
print "pid = ", pid
输出:
Ad897
Pid = 0
感谢任何帮助。谢谢!
【问题讨论】:
-
顺便说一句,python 2.x 已停产。考虑使用 python 3。答案在 2.x 和 3.x 之间有点不同。
-
你为什么不直接
importgetProdID 并使用它? -
check_output和Popen后跟communicate是两种最常见的捕获输出的方式。子流程文档中有示例。
标签: python subprocess