gpt4 book ai didi

Python:导入模块时为模块设置配置的推荐方法是什么?

转载 作者:太空狗 更新时间:2023-10-30 00:12:11 25 4
gpt4 key购买 nike

我见过人们使用 monkey-patching 在模块上设置选项,例如:

import mymodule  
mymodule.default_img = "/my/file.png"
mymodule.view_default_img()

例如,Django 有整个 Django 应用程序的 settings.py,它总是让我有点生气。

管理模块配置设置的其他方法有哪些?推荐什么?似乎通常没有设置模块级配置的好方法。

显然,到目前为止,完全避免配置是最可取的,使用类或将参数传递给函数通常更好。但有时您无法避免进行某种设置,有时为了方便而进行全局模块范围的设置确实有意义(例如,Django 的模板系统——必须为每个模板指定基本路径一场噩梦,绝对不是好的 DRY 代码)。

最佳答案

一个选项是 ConfigParser模块。您可以在非 python 配置文件中进行设置,并让每个模块从中读取其设置。另一种选择是在每个模块中都有一个配置方法,客户端代码也可以传递它的参数。

# foo.py
setting1 = 0
setting2 = 'foo'

def configure(config1, config2):
global setting1, setting2

setting1 = config1
setting2 = config2

然后在导入模块中,

import foo

foo.configure(42, 'bar')

就我个人而言,我认为最好的方法是使用像 django 这样的设置文件。

关于Python:导入模块时为模块设置配置的推荐方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3911539/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com