每个模块都要读取各自的 ini 文件初始化一大堆变量,有没有办法把它抽象出来?

2017-03-31 11:44:41 +08:00
 whx20202

目前能想到的办法是: 在每个模块里面 import 一个 utils 方法,然后调用,比如 set_vars(module_name) 方法外面统一传入模块名,方法里面根据模块名读取 ini 然后把变量值赋给模块下面的变量

感觉还是太丑陋了,想看看各位有没有好一点的建议

1661 次点击
所在节点    程序员
4 条回复
huangxb7818
2017-03-31 17:06:07 +08:00
configParser 不是有现成的模块吗
ijustdo
2017-03-31 17:13:46 +08:00
我以前的做法是 建一张表 呵呵 config_key, config_value, config_type 三个字段足以 当然你还可以再加 add_time, last_update_time 之类 如果是客户段 搞个 sqlite 多 happy 下次配置修改或者升级 直接拷贝

或者是链接远程的 一个接口 读取表里所有数据
owt5008137
2017-04-01 09:10:18 +08:00
没看懂问题是啥?
如果是公共的配置那不是应该抽象出公共配置管理器来读么,然后每个模块里包含共有配置和私有配置。
ini 里不是有 section 可以用来区分模块么。
whx20202
2017-04-01 10:02:51 +08:00
@owt5008137 恩 就是我觉得太恶心了

我给你举个例子:
client.py

client_cp = configParser("client.ini")
var_1 = client_cp.get("var_1")
var_2 = client_cp.get("var_2")
..................
var_50 = client_cp.get("var_50")




server.py:
..............

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/351705

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX