Требования
Я создаю модуль Python3
, который я хочу перенести на встроенную плату (используя Yocto) и использую setuptools
, а не PyPi.
У меня есть файл conf.json
, который находится в основной папке модуля:
myApp
| -- submodule-1
| -- submodule-2
| -- main.py
| -- conf.json
Причиной такого выбора файла conf.json
является учебник Python Packaging , в котором упоминается не кодовые файлы
Это становится немного сложнее, поскольку я понимаю, что после установки пакета (с использованием pip install .
) папка назначения становится более сложной для доступа:
/usr/local/bin/python3/dist-packages/myApp/myApp/conf.json
(что-то похожее на выше)
Использование
- Существует особый случай, когда изначально пользователь приложения запускает некоторые двоичные файлы, чтобы получить некоторую релевантную информацию о процессе, и должен добавить их к
conf.json
позже.
Данные:
configVals: {
123453: {
'type': 'engine-params',
'baudrate': 115200,
'baud': 500
},
245633: {
// similar to above
}
}
Это выше должно быть добавлено к conf.json
с некоторым соответствующим ключом в структуре.
- Обновление информации в
conf.json
до Включение / отключение некоторые функции
данные:
previously
{
"gps": {
"active": true
}
}
now
{
"gps": {
"active": false
}
}
План
Я искал инструмент для командной строки для пользователя:
change-config --system gps --key active --value false
или
change-config --configVals --list {1234}
с возможно kwargs
и argParse
, но обнаружил, что kwargs
не работает как функции Python.
Существует ли какая-то реализация с открытым исходным кодом, которая соответствует моим требованиям?
Last Resort
Я могу добавить conf.json
в /etc/myApp/
, и пользователь может обновить его там.