python - 如何在“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
解决方案
字符串说明符在您的实现中不正确。
尝试以下行:
subprocess.run("{script_home}/script.sh {script_args}".format(script_home=script_home, script_args=script_argument), shell=True, capture_output=True).stdout
推荐阅读
- azure-data-factory - 具有 787 个表(sql server)的 adf v2 复制数据工具仅在管道参数 json 中创建具有 340 的管道。为什么?
- php - 生成模板失败:找不到 TrueType 字体文件
- prometheus - 如何在 PrometheusMiddlewar 中获取请求正文
- java - 字符串“”上的 Hadoop NumberFormatException
- docker - 如何从具有给定名称的图像启动 docker 容器?
- python - 如何在轴的顶部水平显示 xlsxwriter 柱形图的 y_axis 名称?
- mysql - 创建 SQL 桥表
- javascript - “member.user.tag”标签未定义
- mongodb - 为什么我在 MongoDB 中的元路径为空?
- javascript - 在赛普拉斯中,单击按钮时,它没有导航到预期的路径?