Python中用于更新/追加json配置文件的命令行工具 要求
我正在创建一个Python中用于更新/追加json配置文件的命令行工具 要求,python,json,python-3.x,command-line-interface,Python,Json,Python 3.x,Command Line Interface,我正在创建一个Python3模块,我希望将其移植到嵌入式板(使用Yocto)上,并使用setuptools而不是PyPi上 我在主模块文件夹中有一个conf.json文件: myApp | -- submodule-1 | -- submodule-2 | -- main.py | -- conf.json 之所以选择conf.json文件,是因为其中提到了非代码文件 这变得有点复杂,因为据我所知,一旦安装了软件包(使用pip install.),目标文件夹就变得更加复杂,难以到达: /us
Python3
模块,我希望将其移植到嵌入式板(使用Yocto)上,并使用setuptools
而不是PyPi上
我在主模块文件夹中有一个conf.json
文件:
myApp
| -- submodule-1
| -- submodule-2
| -- main.py
| -- conf.json
之所以选择conf.json
文件,是因为其中提到了非代码文件
这变得有点复杂,因为据我所知,一旦安装了软件包(使用pip install.
),目标文件夹就变得更加复杂,难以到达:
/usr/local/bin/python3/dist-packages/myApp/myApp/conf.json
(与上面类似)
用法
conf.json
中conf.json
中,并在结构中使用相应的键
conf.json
中的信息更新为启用/禁用某些功能change-config --system gps --key active --value false
或
可能使用kwargs
和argParse
但发现kwargs
与Python函数不一样
是否有一个开源的实现,可以实现与我的需求类似的功能
终极手段
我可以在
/etc/myApp/
中添加conf.json
,用户可以在那里进行更新。我觉得这个问题不是关于python,而是关于软件部署/发布。我也有强烈的感觉,你在这里要求的是软件推荐,而不是代码,所以我希望这篇文章被转移到。无论如何,我的建议如下:
/etc/
、用户主目录或环境变量中设置的某些文件中读取配置文件。所有这些都是访问配置文件的实际方式,用户希望您的软件遵守其中一种方式(就个人而言,当我不得不使用不符合此约定的程序时,我会感到痛苦)sed
,或者perl
,或者任何不意味着拥有“配置工具”的方法听起来你只需要标准库中的
argparse
和json
。@geogeg我知道它们是标准的,但是通过命令行使用argparse
解析json并不容易,我认为你是对的。如果是*NIX系统,那么/etc/
是一种更简单的方法。谢谢
previously
{
"gps": {
"active": true
}
}
now
{
"gps": {
"active": false
}
}
change-config --system gps --key active --value false
change-config --configVals --list {1234}