# -*- coding:utf-8 -*- """ @author: yq @time: 2023/12/28 @desc: 各种工具类 """ import datetime import inspect import os from json import JSONEncoder import pandas as pd import pytz from config import BaseConfig def f_get_date(offset: int = 0, connect: str = "-") -> str: current_date = datetime.datetime.now(pytz.timezone("Asia/Shanghai")).date() + datetime.timedelta(days=offset) return current_date.strftime(f"%Y{connect}%m{connect}%d") def f_get_datetime(offset: int = 0, connect: str = "_") -> str: current_date = datetime.datetime.now(pytz.timezone("Asia/Shanghai")) + datetime.timedelta(days=offset) return current_date.strftime(f"%Y{connect}%m{connect}%d{connect}%H{connect}%M{connect}%S") def f_get_clazz_in_module(module): """ 获取包下的所有类 """ classes = [] for name, member in inspect.getmembers(module): if inspect.isclass(member): classes.append(member) return classes def f_save_train_df(file_name: str, df: pd.DataFrame): file_path = os.path.join(BaseConfig.train_path, file_name) df.to_excel(f"{file_path}.xlsx", index=False) class f_clazz_to_json(JSONEncoder): def default(self, o): return o.__dict__