作为字典的全局持久配置
guachi的Python项目详细描述
当项目开始增长时,需要全局可访问的配置 经理是显而易见的。
将配置映射到字典确实很有用,但是可以创建 记忆有问题。
guachi不仅在磁盘上保存持久字典,而且还映射 ini样式的dictioanry键,如果有 他们中的一个失踪了。
您不需要知道guachi如何存储值,只要 把它当作一本普通的字典!
用户交互
假设您正在处理一个使用ini文件的twitter应用程序。 这是一个sampla ini文件,看起来如何:
[DEFAULT] app.twitter.username = alfredodeza app.update.frequency = 60 app.load.startup = False
我们有用户名、频率和启动选项的不同设置。
让我们来处理这个问题:
ini_file = ``/Users/alfredo/.twwiter.ini`` conf = ConfigMapper(config_db_path) conf.set_config(ini_file)
就这样!此时,guachi已分析配置文件并存储值。
让我们通过调用我们的密钥来查询他们:
>>> db_conf = conf.stored_config() >>> db_conf['frequency'] 60
太好了,我们现在正在确认我们的数据。我们实际上可以从任何地方获得价值 在我们的Twitter应用程序中,按如下方式调用:
db = ConfigMapper(config_db_path) conf = db.stored_config() frequency = conf['frequency']
获得deafults
上面我们检查了一个ini文件,其中有一些更改的值。但是当用户 没有?
既然我们设置了默认值,我们可以确保它们就在那里,以防我们的应用程序需要 在某些子模块中:
>>> db = ConfigMapper(config_db_path) >>> conf = db.stored_config() >>> conf['load'] True
更新值
如果用户进行了更改怎么办?我们总是可以保存和更新从ini中读取的内容 加载时的文件,以确保我们有来自用户的最新更改:
conf = ConfigMapper(config_db_path) conf.update_config(ini_file)