Files
sfgrid/sfgrid_constants.py
T
2025-11-10 17:05:43 +08:00

66 lines
2.4 KiB
Python

from typing import List
import configparser
import os
import sys
# miniQMTPath = r'D:\\Programs\\DTQMT_MN\\userdata_mini' # miniQMT软件的安装路径
miniQMTPath = r'D:\\Programs\\DTQMT\\userdata_mini' # miniQMT软件的安装路径
# miniQMTPath = ''
# grid_price = [11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1] # 网格价格设置,从高到低
grid_price:List[float] = [] # 网格价格设置,从高到低
grid_volume:int = 100 # 每个网格的交易手数
account_no:str = '99082560'
# account_no:str = '89009170' # 交易账号
def get_config_path():
"""获取配置文件的正确路径(兼容开发环境和打包后的可执行文件)"""
if getattr(sys, 'frozen', False):
# 打包后的可执行文件环境
# sys._MEIPASS是PyInstaller解压临时文件的目录
# 配置文件应该放在可执行文件同目录下
base_path = os.path.dirname(sys.executable)
else:
# 开发环境
base_path = os.path.dirname(os.path.abspath(__file__))
print(f'base_path: {base_path}')
return os.path.join(base_path, 'config.ini')
def create_default_config():
"""创建默认配置文件"""
config = configparser.ConfigParser()
config['config'] = {
'miniQMTPath': r'D:/Programs/QMT/userdata_mini',
'grid_price': '11.0,10.0,9.0,8.0,7.0,6.0,5.0,4.0,3.0,2.0,1.0,0.0',
'grid_volume': '100',
'account_no': '00000000'
}
config_path = get_config_path()
with open(config_path, 'w') as configfile:
config.write(configfile)
print(f'已创建默认配置文件: {config_path}')
def initConfig():
global miniQMTPath, grid_price, grid_volume, account_no
# 获取配置文件路径
config_path = get_config_path()
# 检查配置文件是否存在,不存在则创建
if not os.path.exists(config_path):
create_default_config()
config = configparser.ConfigParser()
config.read(config_path, encoding='utf-8')
miniQMTPath = config.get('config','miniQMTPath')
str_list = config.get('config','grid_price').split(',')
grid_price = [float(item) for item in str_list]
grid_volume = config.getint('config','grid_volume')
account_no = config.get('config','account_no')
# 控制台打印
print(f'miniQMTPath: {miniQMTPath}')
print(f'grid_price: {grid_price}')
print(f'grid_volume: {grid_volume}')
print(f'account_no: {account_no}')