一、重构思想
- 思路来源
java spring设计模式学习,强调低耦合的思想,通过解耦来提高程序的可维护性。
二、代码重构
- 解决方案
通过单独配置文件来控制变量的改变。
spring的话可以读取xml或者是springboot 读取application.properties 来获取变量值。
python 使用以ini结尾配置文件。 - 方案优点
让更改代码更方便,不需要查看所有的源码。
集中在一个配置文件中,方便其他人员使用及维护。 - ini配置主要使用方法
后面可以加注解
bash
#
telephone2022 这个section 的部分, 每个文件可以有多个section
bash
[telephone2022]
相等于 key =batch_number, value=3
bash
batch_number = 3
- 具体实施
first 建立一个config.ini 配置文件。
bash
# batch_number 第几次做、send_date 做的日期
# date_change 做的月份 、month_new 数据给的最新月份
# date_yzs 数据生成日期
[telephone2022]
batch_number = 3
send_date = 2024-07-03[2022]
date_change = 2024-05
month_new = 7
date_yzs = 20240702
[Global]
date= 2024-07-03
second 安装解析库
bash
pip install configparser
three python文件读取 config.ini 配置文件
python
import configparser
def read_config(section,key):
"""
读取配置文件
:param section: 配置的section名
:param key: 配置section名下变量
:return: 配置section名下变量的值
"""
# 配置的路径
file_path = r'config.ini'
config = configparser.ConfigParser()
config.read(file_path,encoding='utf-8')
return config.get(section, key)
# 使用方法
print(read_config('telephone2022', 'month_new'))
其他文件可以调用read_config 函数获取这个值
python
print(read_config('telephone2022', 'month_new'))
four 把read_config 封装起来,例如以下方案封装。
python
import os
# 获取当前文件的绝对路径
current_dir = os.path.dirname(os.path.abspath(__file__))
# 计算上上上级目录的路径
parent_parent_parent_dir = os.path.join(current_dir, '../../../')
# 将上上上级目录添加到Python的搜索路径
sys.path.append(parent_parent_parent_dir)
# 现在可以导入上上上级目录中的模块
from config.dataconfig import read_config
print(read_config('telephone2022', 'month_new'))
三、重构展望
- 深入设计模式
欢迎一起沟通交流代码重构。