Files
protocol_convert_software_BD3/config_loader.py

84 lines
2.1 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""
2026/4/7
TMY
导入INI文件配置
"""
""" #2026/4/18停用因为打包后不能扎到正确的config路径
import configparser
import os
class ConfigLoader:
_instance = None
def __new__(cls):
if cls._instance is None:
cls._instance = super().__new__(cls)
cls._instance.load()
return cls._instance
def load(self):
self.cf = configparser.ConfigParser()
self.cf.read(os.path.join(os.path.dirname(__file__), "config.ini"), encoding="utf-8")
def get(self, section, key, default=""):
try:
return self.cf.get(section, key)
except:
return default
def get_int(self, section, key, default=0):
try:
return self.cf.getint(section, key)
except:
return default
# 全局单例(全项目共用这一个)
cfg = ConfigLoader()
"""
"""
2026/4/18
TMY
导入config.ini文件配置
把读取配置文件的路径改成 exe 真实目录
"""
import configparser
import os
import sys
class ConfigLoader:
_instance = None
def __new__(cls):
if cls._instance is None:
cls._instance = super().__new__(cls)
cls._instance.load()
return cls._instance
def get_exe_dir(self):
# 获取 exe 所在真实目录(不管在哪运行都正确)
if getattr(sys, 'frozen', False):
# 打包后
return os.path.dirname(sys.executable)
else:
# 开发环境
return os.path.dirname(__file__)
def load(self):
self.cf = configparser.ConfigParser()
# 关键:从 exe 同级目录读取 config.ini
config_path = os.path.join(self.get_exe_dir(), "config.ini")
self.cf.read(config_path, encoding="utf-8")
def get(self, section, key, default=""):
try:
return self.cf.get(section, key)
except:
return default
def get_int(self, section, key, default=0):
try:
return self.cf.getint(section, key)
except:
return default
cfg = ConfigLoader()