管理json文件中的参数
argson的Python项目详细描述
阿尔格森
来自json的参数
将参数从json配置文件部署到python程序中
安装
pip install argson
python3 setup.py install
当前不支持Python2。应该适用于所有Python3版本。使用python 3.7.1进行测试
基本用法
config/arguments.json
[
{
"flags": ["--string-to-print"]
}
]
config/defaults.json
{
"string_to_print": "foo"
}
main.py
import argson
arguments = argson.parse_file_and_arguments()
print(arguments.string_to_print)
$ python main.py # -> foo
$ python main.py --string bar # -> bar
文档
argson.parse_file_和_参数
用于自动分析参数文件、自文件和默认文件,生成带有参数文件标志的对象
参数:
Argument | Type | Default | Description |
---|---|---|---|
config_file | str | config/arguments.json | where arguments are read |
self_file | str | config/self.json | configurations for argparse.ArgumentParser |
defaults_file | str | config/defaults.json | default values for arguments |
working_dir | str | os.getcwd() | where the program will look for files to load |
no_builtins | bool | False | disables built-in flags |
verbose | bool | False | disables error messages |
返回:具有来自config_file
标志的属性的对象
argson.parse_config_文件
当需要操作ArgumentParser
的实例和要解析的剩余参数数组时使用
参数:与argson.parse_file_and_arguments
返回:tuple[argumentparser,list[string]]。ArgumentParser的实例和要分析的其余参数的列表。如果像argument_parser, remaining_args = argson.parse_config_file()
那样分配返回值,那么可以像arguments = argument_parser.parse_args(remaining_args)
中那样解析剩余的参数,这基本上就是parse_file_and_arguments
所做的。
config_文件
一个json文件,包含至少有一个名为flags
的键的对象数组。这些是在以--
开头的“连字符大小写”中调用程序时使用的标志,如示例中所示。可以传递额外的键来表示用--help
调用程序时将显示的标志行为或帮助字符串。这些属性可以传递给ArgumentParser.add_argument
self_文件
包含主ArgumentParser实例信息的JSON文件。这些属性与argparse.ArgumentParser支持的属性相同
defaults\u文件
具有snake_case
中标志的默认值的json文件。也就是说,如果参数具有标志string-to-parse
,则默认值必须读取为string_to_parse
。请参阅上面的示例。
为什么要分离配置文件和默认文件?
最好是分离这些文件,这样我们就可以通过编程选择默认的源代码,为标志保持相同的配置。当部署在开发环境和生产环境中运行时具有不同默认值的脚本时,这有时是必要的。
贡献
- 分叉并克隆此回购协议
- 安装pipenv
pipenv install
- 编码为没有明天
- 提交PR
- 是吗??
- 我们一起获利
公开征求意见!