Python 2.7 调用不带空格的子进程python

Python 2.7 调用不带空格的子进程python,python-2.7,subprocess,Python 2.7,Subprocess,考虑到命令行中包含一个变量outdir,用于创建一个我将在其中存放输出的目录,调用仅接受-o=both等参数且不允许在参数-d=和值outdir之间留空格的子流程的最佳选项是什么 '-o=both'、'-m=both'和'-t=4'可以在之前建立,我的脚本中已经包含了它 这是我使用的一行: subprocess.call(['external_script.pl', '-d=',outdir,'-o=both','-m=both','-t=4']) 为什么不根据需要放置参数: ['extern

考虑到命令行中包含一个变量outdir,用于创建一个我将在其中存放输出的目录,调用仅接受-o=both等参数且不允许在参数-d=和值outdir之间留空格的子流程的最佳选项是什么

'-o=both'、'-m=both'和'-t=4'可以在之前建立,我的脚本中已经包含了它

这是我使用的一行:

subprocess.call(['external_script.pl', '-d=',outdir,'-o=both','-m=both','-t=4'])

为什么不根据需要放置参数:


['external_script.pl','-d=%s'%outdir',-o=both','-m=both','-t=4']

我将行中的“,”改为“+”,效果很好

subprocess.call(['external_script.pl', '-d='+outdir,'-o=both','-m=both','-t=4'])

我有点不明白你在问什么。您可以通过传递outdir.strip来避免空格,或者在子流程之前使用if语句检查outdir开头是否有空格?