2017-08-14 23 views
0

我使用Plumbum在Python的前臺運行命令行實用程序。如果你有一個命令foo x y z,你會從鉛像這樣運行:將參數從列表傳遞給python plumbum命令

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

然而,在我寫的代碼,參數['x', 'y', 'z']生成到一個列表。我無法弄清楚如何解開這個列表以將它作爲參數發送給鉛。有什麼建議麼?

回答

1

原來我本來可以用__getitem__這個。 我所要做的就是:

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

感謝您的回答阿龍邁索爾,正好是我所需要的。

我嘗試以下,(沒有工作):

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) 

問題是當我將列表連接成一個字符串時,這個鉛似乎並不好。