2017-03-16 39 views
1

我與我的代碼在這裏延伸credstash代碼工作:有條件子分析器基於互斥組參數

https://github.com/willcrain1/credstash

我的問題是,我想補充必需的參數,但只有當你選擇-b作爲相互排斥的一個(你將不得不提供桶名和'credstash'名),所以s3需要2個參數,其中dynamodb - -t參數只需要一個(只是表名)。

現在代碼已經有了你想採取的操作的子分析器。我是新來的python如此新的argparse,所以任何建議如何添加一個條件參數-c Credstash,但只有當使用-b時有效的方式讚賞。

usage: credstash [-h] [-r REGION] [-b BUCKET | -t TABLE] [-p PROFILE | -n ARN] {delete,get,getall,list,put,setup} ...

+0

您的需求還不是很清楚。但是我想知道是否爲'-b'設置'nargs = 2'會起作用。用法會看起來像'[-b BUCKET BUCKET | -t TABLE]'(儘管你可以用'metavar'來改進)。 – hpaulj

+0

這正是我要找的。我會盡力實現這一點。謝謝@hpaulj –

回答

1

從我的評論複製:

嘗試爲-b設置nargs=2。然後使用看起來像

[-b BUCKET BUCKET | -t TABLE] 

添加metavar=('bucket', 'credstash')(元組,未列表)應該更改用法:

[-b bucket credstach | -t TABLE]