将参数从列表传递给python plumbum命令

问题描述:

我使用Plumbum在Python的前台运行命令行实用程序。如果你有一个命令foo x y z,你会从铅像这样运行:将参数从列表传递给python plumbum命令

from plumbum import cmd, FG 
cmd.foo['x', 'y', 'z'] & FG 

然而,在我写的代码,参数['x', 'y', 'z']生成到一个列表。我无法弄清楚如何解开这个列表以将它作为参数发送给铅。有什么建议么?

原来我本来可以用__getitem__这个。 我所要做的就是:

from plumbum import cmd, FG 
params = ['x', 'y', 'z'] 
cmd.foo.__getitem__(params) & FG 

感谢您的回答阿龙迈索尔,正好是我所需要的。

我尝试以下,(没有工作):

from plumbum import local 
from plumbum.commands import ProcessExecutionErr 

files = ['gs://some-repo/somefile.txt', 'gs://some-repo/somefile2.txt'] 
files_string = ' '.join(files) 

gsutil = local['gsutil'] 
command = gsutil['-m', 'rm', files_string] 
try: 
    job = command.run() 
except ProcessExecutionError as err: 
    print('Error: {}'.format(err)) 
    sys.exit(1) 

但你的答案后,这里参考使用gsutil,人们另一个例子(没有工作):

from plumbum import local 
from plumbum.commands import ProcessExecutionError 

files = ['gs://some-repo/somefile.txt', 'gs://some-repo/somefile2.txt'] 

gsutil = local['gsutil'] 
command = gsutil['-m', 'rm'] 
try: 
    job = command.__getitem__(files).run() 
except ProcessExecutionError as err: 
    print('Error: {}'.format(err)) 
    sys.exit(1) 

问题是当我将列表连接成一个字符串时,这个铅似乎并不好。