Я написал небольшое приложение , которое создает графический интерфейс для настройки uShare. В настоящее время это сильно зависит от функций 'w' (запись) и 'a' (добавление) для создания / редактирования файла ushare.conf. Но я пытался найти способ, чтобы приложение сохраняло все изменения до тех пор, пока не будет нажата кнопка сохранения, и только затем фиксирует их в реальном файле. Я думаю, что это был бы лучший способ обойти пользователя, нажимая ввод каждый раз, когда они меняют любое поле (и действительно допускают GtkCheckButton).
Если вы хотите сохранить конфигурацию таким образом, я рекомендую вам использовать модуль Python ConfigParser
. Обратите внимание, что вы должны убедиться, что вы храните файлы конфигурации в ~/.config/<your-app-name>
. Вы можете сохранить конфигурацию следующим образом:
import ConfigParser
import xdg.BaseDirectory
# set the configdir to ~/.config/ushare
configdir = os.path.join(xdg.BaseDirectory.xdg_config_home, "ushare")
# check if the dir exists and if not, create it
if not os.path.exists(configdir):
os.makedirs(configdir)
# create configparser object
config = ConfigParser.RawConfigParser()
cfile = os.path.join(configdir, "ushare.conf")
# add your config items - see the ConfigParser docs for how to do this
# later in your app add this when the user presses the button to save the config:
with open(cfile, 'wb') as configfile:
config.write(configfile)
Обратите внимание: на самом деле я не запускал этот код и просто написал его здесь, но он должен работать нормально.