首页 > 解决方案 > 如何在“subprocess.run”函数中使用多个变量?

问题描述

我有一个小的 python3 代码。我想在 subprocess.run 中使用多个变量

import subprocess

scripts_home='/usr/local/bin'
script_argument = 'argument'

def function():
    subprocess.run("script_home/script.sh %s" % script_argument, shell=True, capture_output=True).stdout

如何在命令中使用 script_home 变量?

我已经尝试过:

subprocess.run("%s/script.sh %s" % script_home % script_argument, shell=True, capture_output=True).stdout
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: not enough arguments for format string

标签: pythonpython-3.xvariablessubprocess

解决方案


字符串说明符在您的实现中不正确。

尝试以下行:

subprocess.run("{script_home}/script.sh {script_args}".format(script_home=script_home, script_args=script_argument), shell=True, capture_output=True).stdout

推荐阅读