如何在引号中包装python参数值?

时间:2018-02-10 04:19:54

标签: python

我正在尝试构建一个python命令,如下所示,问题是某些参数值有空格而脚本无法在以后运行, 下面命令中的options -at-m包含传递给这些参数的值的空格,我想包装这些值以添加引号("")?我该怎么办?< / p>

change=12345
source_milestone="source1 milestone"
target_milestone="target1 milestone"
cmd =  r'python ./script.py -u username -rl {} -ra adar.py -d 1234567 -at CLONED_FROM_{} -m {} -r AUTOMATION'.format(change,source_milestone.upper(),str(target_milestone))

print cmd

输出: -

python ./script.py -u username -rl 12345 -ra adar.py -d 1234567 -at CLONED_FROM_SOURCE1 MILESTONE -m target1 milestone -r AUTOMATION

预期输出: - 通知-at周围的引号(“”)和-m

python ./script.py -u username -rl 12345 -ra adar.py -d 1234567 -at "CLONED_FROM_SOURCE1 MILESTONE" -m "target1 milestone" -r AUTOMATION

1 个答案:

答案 0 :(得分:2)

由于您的cmd字符串是使用单引号创建的,因此您可以在任何位置插入双引号。把它们放在{}。

附近
var = 'variable with spaces'
cmd = r'python ./script.py -u username -rl "{}"'.format(var)

print(cmd)

python ./script.py -u username -rl "variable with spaces"