Как хранить данные приложения Python

Я создаю простой инструмент Python CLI, который позволяет пользователю добавлять и удалять задачи (классическое приложение Todo). Это только для моего собственного использования, но я хочу познакомиться с лучшими практиками создания таких приложений. Данные будут храниться в простом текстовом файле.

Основной вопрос: где хранить файл данных? Прочитав некоторое чтение, я склонен создать новую папку в /var/lib и сохранить файл data.txt в этом каталоге. Есть ли недостатки у этого варианта?

Дополнительный вопрос. Поскольку по умолчанию только root имеет доступ к /var, нужно ли мне изменять разрешения для всего каталога /var, чтобы читать и записывать в файл данных?


person Community    schedule 07.07.2014    source источник
comment
Вы также можете попробовать использовать модуль appdirs.   -  person Robert Vunabandi    schedule 27.08.2019


Ответы (1)


Пользовательские данные должны храниться в домашнем каталоге пользователя. Вы могли бы использовать

/Users/joe/.myclitool/data.txt

под Mac OS X и

/home/joe/.myclitool/data.txt

под GNU/Linux.

В Python это можно сделать с помощью

import os
import os.path

p = os.path.join(os.getenv("HOME"), ".myclitool", "data.txt")
person Community    schedule 07.07.2014
comment
Я как раз собирался спросить, как приложение узнает личность текущего пользователя, но ваше редактирование прояснило ситуацию. Спасибо! - person ; 07.07.2014