python - 如何告诉单击始终显示选项默认值
问题描述
在 Python 的Click包中,我可以为选项定义默认值:
@click.option("--count", default=1, help="Number of greetings.")
我可以指定默认值应显示在帮助中:
@click.option("--count", default=1, help="Number of greetings.", show_default=True)
如果我有很多选择
@click.option("--count-a", default=1, help="...")
@click.option("--count-b", default=2, help="...")
@click.option("--count-c", default=4, help="...")
.
.
.
我怎样才能告诉 Click 一般总是在帮助中显示默认值(没有明确添加show_default=True
到每个单独选项的参数列表中)?
解决方案
可能最合适的方法是更改@click.command
装饰器中的上下文设置。像这样:
@click.command("cli", context_settings={'show_default': True})
@click.option("-x")
@click.option("-y", default="Custom Y")
@click.option("-z", default="Custom Z", help="Value of Z.")
def cli(x, y, z):
"""Test changin context settings"""
return "OK"
if __name__ == '__main__':
cli()
这将打印以下内容:
Usage: test.py [OPTIONS]
Test changing context settings
Options:
-x TEXT
-y TEXT [default: Custom Y]
-z TEXT Value of Z. [default: Custom Z]
--help Show this message and exit. [default: False]
推荐阅读
- node.js - 使用 APNS 发送带有图像的 Firebase 推送通知
- excel - 对于输入日期,查找具有相同月份和年份的日期单元格
- janusgraph - 有没有办法在 JanusGraph 中使用 UUID 而不是 id 块分配?
- c# - C# 驱动程序聚合查找具有另一个集合的嵌入式数组
- sharepoint-2013 - SharePoint 2013,从 HTML 中提取文本并在 SP 中填充联系人项目
- c++ - 使用setprecision时如何阻止数字四舍五入?
- reactjs - 使用 react-leaflet 将层绑定到功能组件中的 onEachFeature
- php - PHP 从具有查询字符串的 URL 获取 JSON
- javascript - 为什么javascript通知不显示?
- extjs - ExtJS 6 - 小部件列上带有颜色按钮的网格 - 单击事件转到控制器