Python 配置项的如何全局应用

2019-07-10 10:21:37 +08:00
 linkbg

编写一个类或者方法,来读取配置文件,比如项目名称、版本、一些其他方法或类需要用的值。那么这些配置项如何在其他方法(文件)中使用?

2660 次点击
所在节点    Python
9 条回复
leishi1313
2019-07-10 10:34:47 +08:00
存 json 或者 yml 然后读一下就好了。话说你这像面试人家给你留的作业
renmu
2019-07-10 14:40:20 +08:00
lolizeppelin
2019-07-10 14:40:28 +08:00
看 openstack 怎么做的~~~
ssewhy
2019-07-10 15:36:41 +08:00
介不是君哥吗,许久不见,O(∩_∩)O 哈哈~
linkbg
2019-07-10 22:43:56 +08:00
@ssewhy 哈哈哈,感觉我应该换个号了。
ssewhy
2019-07-11 11:07:42 +08:00
有时间去你那玩玩......(*^▽^*)
linkbg
2019-07-11 15:03:43 +08:00
@ssewhy 欢迎欢迎
anonymous256
2019-07-11 17:10:15 +08:00
看完这两篇你就应就知道了。
https://stackoverflow.com/questions/5055042/whats-the-best-practice-using-a-settings-file-in-python
https://martin-thoma.com/configuration-files-in-python/

我的看法:

1. yaml 不是一个好主意, 因为需要给项目引入额外的依赖。首先排除它。
2. 如果你只是需要配置一些全局的符号常量(symbolic constants), 参考 Django 的做法,使用 setting.py
参见: https://github.com/deis/example-python-django/blob/master/helloworld/settings.py
关于使用符号常量: https://constantly.readthedocs.io/en/latest/
3. 如果你只需要简单的一些键值对(key-value pairs), 可以使用 INI 文件,配置标准库的 configparser 进行解析。
4. 如果你需要更复杂的配置, 不妨使用 json.

2,3,4 我都用过。简单的一些,直接用了 settings.py 。有的项目配置文件超过 7000 行了, 用的 json。
telnetning
2019-07-16 19:40:57 +08:00
是的,可以看看 OpenStack 的做法,具体就是 oslo.config 库。

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

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

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

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

© 2021 V2EX