consolidator

Форк
0
/
MyConfig.py 
36 строк · 1.1 Кб
1
import json
2
import os.path
3
from typing import Any
4

5
class MyConfig(object):
6

7
    def __init__(self,fileName:str,encoding:str="UTF-8"):
8
        self.fileName=fileName
9
        self.fileEncoding=encoding
10
        self.config = {}        
11
        try:
12
            if not os.path.isfile(fileName): raise Exception(f"Файл {fileName} отсутсвует")
13
            with open(file=fileName,encoding=encoding,mode="r") as fs:
14
                self.config = json.load(fs)
15
        except: raise       
16

17
    def get(self,key:str,defaultValue)->Any:
18
        return self.config.get(key,defaultValue)
19
    
20
    def set(self,key:str,value):
21
        try:
22
            self.config.update({key:value})
23
        except: raise
24

25
    def get_keys(self)->dict:
26
        keys={}
27
        for key in self.config.keys():
28
            keys[key]=str(type(self.config[key]))
29
        return keys
30
    
31
    def sync(self):
32
        try:
33
            with open(self.fileName,encoding=self.fileEncoding,mode="w") as fs:
34
                json.dump(self.config, fs, indent=2, sort_keys=False, ensure_ascii=False)
35
                fs.flush()
36
        except: raise
37
            

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

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