【问题标题】:Python ConfigParser - usage across modulesPython ConfigParser - 跨模块使用
【发布时间】:2012-02-04 03:31:46
【问题描述】:

我试图了解实现 Python 的 ConfigParser 以便多个程序模块可以访问元素的最佳方式。我正在使用:-

import ConfigParser
import os.path

config = ConfigParser.RawConfigParser()

config.add_section('paths')
homedir = os.path.expanduser('~')
config.set('paths', 'user', os.path.join(homedir, 'users'))
[snip]
config.read(configfile)

在最后一行引用了配置文件变量。这必须传递给 Config 模块,以便用户可以覆盖默认配置文件。我应该如何在模块/类中以其他模块可以使用 config.get(spam, egg) 的方式实现这一点?

【问题讨论】:

    标签: python python-module configparser


    【解决方案1】:

    假设您在问题中编写的代码位于模块 configmodule.py 中。然后其他模块通过以下方式访问它:

    from configmodule import config
    config.get(spam, eggs)
    

    【讨论】:

    • 谢谢。使用这个解决方案,有没有办法将配置文件变量传递给配置解析器?
    • 您通常会使用 optparse 或 argparse 让用户选择配置文件。如果选项和参数解析也在 config 模块中完成,这应该很简单(但如果遇到问题,请随时扩展您的问题)。否则,这在很大程度上取决于您的特定程序结构。
    • 解决了,谢谢!诀窍是将 optparse 和 ConfigParser 放在同一个模块中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-14
    • 1970-01-01
    • 2021-05-09
    • 2011-06-25
    • 2020-12-30
    相关资源
    最近更新 更多