使用子进程运行单独的python程序

2024-05-15 03:55:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建一个脚本来运行我的其他python程序。我不熟悉subprocess模块,所以这让我有点困惑。在

项目结构

/qe-functional
   /qe
      /tests
         cron_functional.py
         test_web_events.py
   setup.sh

克朗_函数.py

print(os.getcwd())
# print(subprocess.check_output('ls'))
runtag = "daily_run_" + datetime.today().strftime("%m_%d_%y")
testrun = "source ../../setup.sh; ./test_web_events.py -n 10 -t prf -E ctg-businessevent -p post {}".format(runtag)
cmd = testrun.split()
print(cmd)
subprocess.check_output(cmd)

输出

^{pr2}$

Tags: pytestcmdweboutputcheckshsetup
1条回答
网友
1楼 · 发布于 2024-05-15 03:55:09

source是一个内部shell命令,不是可执行文件。您需要的不是运行一个带有11个参数的source命令,而是一个单行shell脚本。您需要将整个脚本作为一个字符串传递给shell来解释。在

subprocess.check_output(testrun, shell=True)

你还没说setup.sh做什么。如果要设置环境变量并更改工作目录,请考虑在Python中执行该操作。然后你就可以跑了

^{pr2}$

…不涉及外壳。在

相关问题 更多 >

    热门问题