作为字典的全局持久配置

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)

文件

我们的全部文档都存放在这里。去看看完整的api。

http://guachi.googlecode.com/hg/docs/build/html/index.html

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么程序显示空结果?   java应用程序在测试设备上调试时工作正常,但在发布版apk中没有,它没有获得post。来自firebase的类变量   java Android:从主活动按钮确定在listview中选中哪个复选框   在Spring中添加@OneToOne注释时启动ApplicationContext时发生java错误   用JAVA Android实现矩阵计算的最快方法   SpringJava语义有没有更好的编写方法?   java从hashmap中减去两个值后返回最小差值的键?   Java中的静态初始化顺序:Netty 4.0.7的例外   java如何检查用户输入是否为字符串   循环Java计数单词索引   java如何使用以下代码将视频流传输到Android异步Http服务器?   java如何在jtable的所有行中循环   java如何使用maven将unicode插入mysql   java使用安卓加速远程数据检索   java试图模拟麦克风(javax.sound.sampled)   swing SwingWorker从不归还任何东西?(爪哇)   首次在Android Studio上未加载java LibGDX文件   java如何在多个Mysql服务器上设置限制和偏移?   如何防止从java连接到mongodb时登录控制台?