Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 18, 2014 12:22:47

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Конфигурация (чтение/сохранение)

Добрый день!
Пишу небольшую ГУИ программку. Требуется хранить некоторые данные дабы не вносить их каждый раз при старте программы, а так же иметь возможность их изменять! Поля очень простые, вида
переменная = значение (всяческие чекбоксы, значение почтовой учетки итд)


1.Первое что приходит на ум - хранение в текстовом файле в виде конфига. Но работа с файлом не совсем удобна и идеологически правильная в данном случае. Конечно ConfigParser делает этот вопрос более чем простым - но тогда заполнение данных из гуи - безсмысленно. Открыл файл, внес данные, запустил программу - работай. С точки зрения юзабилити - неудобно для ламера.

2. База данных! Весьма заинтересовала реализация dbm и e32dbm - все максимально просто и удобно! Вроде как мою задачу решают полностью. Но никогда с ними не сталкивался и почему не знаю чего ждать и какие есть подводные камни. Может быть есть что-то аналогичное? Или чему в данном случае отдать предпочтение?

3.sqlite - тут всепонятно! Но писать кучку когда для чтения выборки и изменения данных на работу с десятком полей - более чем глупо.Ибо количчество кода будет больше нежели самих переменных

Ну и главный критерий - выбранный вариант должен прекрасно работать на винде после py2exe без установки дополнительных либ на винду!
Благодарю за подсказки!



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#2 Сен. 18, 2014 12:36:38

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Конфигурация (чтение/сохранение)

pickle



Офлайн

#3 Сен. 18, 2014 12:37:33

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Конфигурация (чтение/сохранение)

ZerG
Но писать кучку когда для чтения выборки и изменения данных на работу с десятком полей
Откуда куча кода? Десять полей = десять строк в модели.



Офлайн

#4 Сен. 18, 2014 14:09:11

ilnur
От: Казань
Зарегистрирован: 2009-01-06
Сообщения: 524
Репутация: +  22  -
Профиль   Отправить e-mail  

Конфигурация (чтение/сохранение)

dict -> json -> dict

Офлайн

#5 Сен. 18, 2014 23:12:53

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10026
Репутация: +  857  -
Профиль   Отправить e-mail  

Конфигурация (чтение/сохранение)

ZerG
Открыл файл, внес данные, запустил программу - работай.
Там ещё пароли есть.
Кстати, редактирование этого файла будет происходить очень редко. На сто запусков одно редактирование. Поэтому разработка супергуя для этого не нужна. Просто не будешь им пользоваться потом.



Офлайн

#6 Сен. 22, 2014 20:01:40

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Конфигурация (чтение/сохранение)

ZerG
С точки зрения юзабилити - неудобно для ламера.
Что неудобно в config parser? Нужен GUI делаете его. Кому не нужен GUI тот пользуется файлом.
Пиклы - будет неудобно редактировать текстовым редактором.
Базы данных тут вообще от лукавого. Получится таблица с одной строкой и возня с миграцией схемы при каждом изменении перечня полей.

Если данных относительно много и они сложные то стоит рассмотреть json, yaml.

yaml почти не проигрывает в компактности конфигу, но не содержит встроенных механизмов подстановки строк.

Считаю конфиг это самое то. Если вы приверженец windows можно еще в registry писать.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version