Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从列表生成subprocess.call参数_Python - Fatal编程技术网

Python 从列表生成subprocess.call参数

Python 从列表生成subprocess.call参数,python,Python,我使用subprocess模块来执行带有参数的命令行软件,但在向它提供参数列表时遇到了一些麻烦 以下是我正在做的: subprocess.call([rv,"[",rv_args[0],rv_args[1],"]",]) 这很好,并且len(rv_args)==2,现在我想生成以下内容: if len(rv_args) == 4 : subprocess.call([rv,"[",rv_args[0],rv_args[1],"]","[",rv_args[2],rv_args[3],"

我使用subprocess模块来执行带有参数的命令行软件,但在向它提供参数列表时遇到了一些麻烦

以下是我正在做的:

subprocess.call([rv,"[",rv_args[0],rv_args[1],"]",])
这很好,并且len(rv_args)==2,现在我想生成以下内容:

if len(rv_args) == 4 :
    subprocess.call([rv,"[",rv_args[0],rv_args[1],"]","[",rv_args[2],rv_args[3],"]",])
然后

等等。。等等

当然,我不想硬编码,但在运行中生成它,你认为最好的方法是什么

干杯,

这里有一个方法:

rv = "command"
rv_args = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]


def get_arguments(rv, rv_args):
    arguments = [rv]
    for i in xrange(0, len(rv_args), 2):
        arguments += ["["] + rv_args[i:i+2] + ["]"]

    return arguments

print get_arguments(rv, rv_args)
返回:

['command', '[', 1, 2, ']', '[', 3, 4, ']', '[', 5, 6, ']', '[', 7, 8, ']', '[', 9, 10, ']']

如果您的列表长度为奇数,您希望发生什么情况?
['command', '[', 1, 2, ']', '[', 3, 4, ']', '[', 5, 6, ']', '[', 7, 8, ']', '[', 9, 10, ']']