将变量传递给 python 中的命令

pass variable in to command in python

我正在编写一个 python 脚本来执行 shell 命令,我正在接受参数,我想将它的值传递给命令

#!/usr/bin/env python

import commands
import subprocess
import sys

command = commands.getoutput('fs_cli -x "sofia profile external restart"')

这段代码工作正常

当我尝试接受参数并传递给命令时失败了

command = commands.getoutput('fs_cli -x "sofia profile" + sys.argv[1] + " restart"')

支持大家

你应该写:

command = commands.getoutput('fs_cli -x "sofia profile ' + sys.argv[1] + ' restart"')

看看argparse and subprocess

其中一种方法是将要执行的命令转换为字符串,然后将其作为 eval()

执行

示例: 评估(字符串中的expression/command)