创建配置文件
This commit is contained in:
parent
cbd32ccc6f
commit
97c6945d6a
|
@ -0,0 +1 @@
|
||||||
|
from tronscan import Tronscan
|
|
@ -0,0 +1 @@
|
||||||
|
import settings
|
|
@ -0,0 +1,116 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
# -*- coding: UTF-8 -*-
|
||||||
|
"""
|
||||||
|
@Project :payment
|
||||||
|
@File :__init__.py.py
|
||||||
|
@IDE :PyCharm
|
||||||
|
@Author :rengengchen
|
||||||
|
@Time :2024/11/06 16:11
|
||||||
|
"""
|
||||||
|
import argparse
|
||||||
|
import os
|
||||||
|
import random
|
||||||
|
import sys
|
||||||
|
from argparse import Namespace
|
||||||
|
from configparser import ConfigParser
|
||||||
|
|
||||||
|
import requests
|
||||||
|
from loguru import logger
|
||||||
|
|
||||||
|
random_seed = 20240717
|
||||||
|
ROOT_DIR = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
|
||||||
|
|
||||||
|
|
||||||
|
def setup_seed(seed):
|
||||||
|
# import torch
|
||||||
|
# torch.manual_seed(seed)
|
||||||
|
# torch.cuda.manual_seed_all(seed)
|
||||||
|
# torch.backends.cudnn.deterministic = True
|
||||||
|
# import numpy as np
|
||||||
|
# np.random.seed(seed)
|
||||||
|
random.seed(seed)
|
||||||
|
|
||||||
|
|
||||||
|
setup_seed(random_seed)
|
||||||
|
|
||||||
|
|
||||||
|
class Config:
|
||||||
|
def __init__(self,
|
||||||
|
config_parser: ConfigParser = None,
|
||||||
|
argument_parser: Namespace = None,
|
||||||
|
**kwargs):
|
||||||
|
if argument_parser:
|
||||||
|
for k in vars(argument_parser):
|
||||||
|
kwargs[k] = getattr(argument_parser, k)
|
||||||
|
if config_parser:
|
||||||
|
kwargs1 = kwargs.copy()
|
||||||
|
for section in config_parser.sections():
|
||||||
|
section1 = kwargs.setdefault(section, Config(**kwargs1))
|
||||||
|
for option in config_parser.options(section):
|
||||||
|
section1[option] = config_parser.get(section, option)
|
||||||
|
self.config = {k: Config(**v) if isinstance(v, dict) else v for k, v in kwargs.items()}
|
||||||
|
|
||||||
|
def refresh(self, **kwargs):
|
||||||
|
kwargs = {k: Config(**v) if isinstance(v, dict) else v for k, v in kwargs.items()}
|
||||||
|
self.config.update(kwargs)
|
||||||
|
|
||||||
|
def get(self, item, default=None):
|
||||||
|
if item in self.config:
|
||||||
|
return self.config[item]
|
||||||
|
return default
|
||||||
|
|
||||||
|
def get_int(self, item):
|
||||||
|
v = self.get(item)
|
||||||
|
if v is not None:
|
||||||
|
return int(v)
|
||||||
|
|
||||||
|
def get_float(self, item):
|
||||||
|
v = self.get(item)
|
||||||
|
if v is not None:
|
||||||
|
return float(v)
|
||||||
|
|
||||||
|
def get_bool(self, item):
|
||||||
|
v = self.get(item)
|
||||||
|
if v is not None:
|
||||||
|
return bool(v)
|
||||||
|
|
||||||
|
def __getitem__(self, item):
|
||||||
|
return self.config[item]
|
||||||
|
|
||||||
|
def __setitem__(self, key, value):
|
||||||
|
self.config[key] = value
|
||||||
|
|
||||||
|
def __getattr__(self, key):
|
||||||
|
if key in self.__dict__:
|
||||||
|
return self.__dict__[key]
|
||||||
|
try:
|
||||||
|
return self.config[key]
|
||||||
|
except KeyError:
|
||||||
|
raise AttributeError(f"'{self}' object has no attribute '{key}'")
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return str(self.config)
|
||||||
|
|
||||||
|
|
||||||
|
def log_config(config):
|
||||||
|
# fmt = '%(asctime)s [%(name)s] %(levelname)s: %(message)s'
|
||||||
|
# datefmt = "%Y-%m-%d %H:%M:%S"
|
||||||
|
logger.remove()
|
||||||
|
logger.add(sys.stdout, level=config.log_level)
|
||||||
|
logger.add(sys.stderr, level="ERROR")
|
||||||
|
logger.add(os.path.join(ROOT_DIR, "logs", "recommender_{time}.log"), level="DEBUG", encoding='utf8', rotation="100 MB", retention=3)
|
||||||
|
|
||||||
|
|
||||||
|
nacos_url = f"http://{os.getenv('NACOS_SOCKET', '192.168.15.40:38865')}/nacos/v1/cs/configs"
|
||||||
|
|
||||||
|
|
||||||
|
def get_config() -> Config:
|
||||||
|
requests.adapters.DEFAULT_RETRIES = 3
|
||||||
|
|
||||||
|
configparser = ConfigParser()
|
||||||
|
configparser.read(fr'{ROOT_DIR}/config_file/param.conf')
|
||||||
|
parser = argparse.ArgumentParser(description='recommendation system')
|
||||||
|
parser.add_argument("--seed", type=int, default=2024)
|
||||||
|
args = parser.parse_args()
|
||||||
|
config = Config(configparser, args)
|
||||||
|
return config
|
Loading…
Reference in New Issue