2017-08-14 6 views
0

私はPlumbumを使って、Pythonのフォアグラウンドでコマンドラインユーティリティを実行しています。コマンドfoo x y zを持っていた場合、あなたはそのよう嶺国からそれを実行します:私はしかし、書いているコードで リストからpython plumbumコマンドにパラメータを渡す

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

は、パラメータ ['x', 'y', 'z']は、リストの中に生成されます。私はplumbumのパラメータとして送るためにこのリストを解凍する方法を理解できませんでした。助言がありますか?

答えて

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) 

を私が文字列のリストを自分自身に連結したとき、鉛棒はうまくいきませんでした。

関連する問題