這個問題是關於click包的行爲選項:蟒蛇點擊:添加可修改其它參數
Click是一個Python包在一個組合的方式創造出美麗的命令行 接口與少代碼是必要的。它是 「命令行界面創建工具包」。它是高度可配置的 ,但帶有明智的默認設置。
它旨在使編寫命令行工具的過程變得快速並且有趣,同時還防止由於無法實現預期的CLI API而導致的任何挫敗感。
我想添加一個click.Option
到我的click.Command
,它改變了該命令的其他參數的行爲。考慮下面的例子:
@click.option('--x', default=42, prompt=True)
@click.command
def cli_a(x):
print(x)
@click.option('--x', default=42, prompt=False)
@click.command
def cli_b(x):
print(x)
如果cli_a
被不帶明確指定x
用戶被提示以提供一個值(或確認默認值與ENTER)。如果調用cli_b
而未指定x
,則會在不提示用戶的情況下使用默認值。
我現在想添加一個標誌click.Option
,允許用戶在上述變體之一(在運行時)之間進行選擇。因此,撥打cli_c --i
的行爲將與cli_a
類似,撥打cli_c
的行爲將類似cli_b
。
@click.option('--i', is_flag=True, default=False, expose_value=False)
@click.option('--x', default=42, prompt=False)
@click.command
def cli_c(x):
print(x)
是可行的與當前的API是什麼?這可行嗎?
一個類似的用例可能類似於anwser-all-confimation-prompts-with-yes標誌。通常情況下,如果cli工具應該可以由用戶以交互方式使用,並且通過腳本或其他類似工具以自動模式使用,則會出現這種情況。