首页 > 解决方案 > 如何在python中为shell命令使用变量值?

问题描述

我有一个 shell 命令,它使用一些从 Python 脚本调用的参数:

cmd = 'sysbench --test=cpu --cpu-max-prime=20000 --num-threads=2 run > cpu_sysbench.txt'

现在我想将 -cpu-max-prime 值定义为一个变量并使用它:

prime_numbers = "20000"
cmd = 'sysbench --test=cpu --cpu-max-prime=$prime_numbers --num-threads=2 run'

但是当我运行它时,我看到一些语法错误:

标签: pythonpython-3.xshell

解决方案


尝试:

cmd = f'sysbench --test=cpu --cpu-max-prime={prime_numbers} --num-threads=2 run'

这称为 f 字符串,它是一种在 Python >= 3.6 中格式化字符串的简单方法。当然,您也可以只使用字符串连接或其他方法,这根本不是特定于运行 shell 命令的。


推荐阅读