我使用Plumbum在Python的前臺運行命令行實用程序。如果你有一個命令foo x y z
,你會從鉛像這樣運行:將參數從列表傳遞給python plumbum命令
from plumbum import cmd, FG
cmd.foo['x', 'y', 'z'] & FG
然而,在我寫的代碼,參數['x', 'y', 'z']
生成到一個列表。我無法弄清楚如何解開這個列表以將它作爲參數發送給鉛。有什麼建議麼?
我使用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)
問題是當我將列表連接成一個字符串時,這個鉛似乎並不好。