我正在尝试构建一个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
答案 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"