Я в питоне новичок. Очень понравился язык. Возможностей для оптимизации кода почти безграничны, особенно если учесть что я первый раз что то пишу на этом языке. Просьба помочь с оптимизацией и понять какие вещи я использовал не так, какие можно было заменить/ускорить/упростить и т.д. Написал модуль, который позволяет читать и сохранять настройки.
модуль я назвал его settings.py
"""Данный модуль предназанчен для работы с настройками
записывает/считывает файл настроек (имя файла настроек передается при
создании объекта по умолчанию "main.cfg").
Формат хранения настроек:
Ключ = Значение
Ключ = Значение
Имеется возможность получать как отдельные значения ключей по имени,
так и полностью читать весь файл настроек."""
import os
def read_file(path):
"""Читает настройки из указанного файла и возвращает словарь"""
fs = open(path)
st = []
for key_value in fs.read().replace(' ', '').split():
st.append(key_value.split('='))
fs.close()
return( dict(st) )
class settings():
"""При создании объекта, считывает конфигурационный файл и позволяет
во время работы основной программы обращаться за значениями настроек"""
settings = {}
path = ""
def __init__( self, path = "main.cfg" ):
self.path = path
if os.path.exists(path):
self.settings = read_file(path)
else:
os.mknod(path)
def write_settings( self, path, dict_sett):
"""Пишет в файл переданный словарь настроек"""
fs = open(path, 'w')
st = ''
for k,v in dict_sett.items():
st = st + ("%s=%s\n"%(k,v))
fs.write(st)
fs.close()
if __name__ == "__main__":
s = settings()
s.write_settings( s.path, s.settings) #'эти строки для теста, перед записью можно изменить значение какого нибудь ключа
rt=55555
we=3
rtuy=123
wert=2
twe=232
ry=1
etuy=3
wer=2
qwerqwe=rtrt