问题标签 [configobj]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - ConfigObj 或 ConfigParser 哪个更好?
哪个更适合为 Python 程序创建设置文件、内置模块 ( ConfigParser ) 或独立项目 ( ConfigObj )?
python - 使用 configobj 逐一读取完整部分
我正在使用 configobj 读取配置文件,如下所示。
我的目标是先阅读部分列表,然后将每个部分放入字典中。如果没有值,我必须用默认值替换。说 section2 - PROP1 将变为“12345”。我一直在查看 configobj 以仅将一个部分读取到字典对象上,但看起来没有函数/方法可以做到这一点。有什么帮助吗?
谢谢
Umapathy
python - py2exe 找不到模块
我有一个运行良好的 Python 应用程序。现在我使用 py2exe 创建此应用程序的 Windows 可执行文件,但是生成的 exe 失败并抱怨它缺少configobj模块
file2.py 中的第 10 行仅仅是from configobj import ConfigObj
我尝试通过指定-i configobj
参数将 configobj 显式添加到打包模块列表中,但是 py2exe 运行失败并出现类似错误:
configobj 模块安装在我的计算机上的默认位置
我究竟做错了什么 ?
python - 这是共享动态 ConfigObj 文件的一种不错的方式吗?
我有几个 python 进程可以监视物理 IO 并对其采取行动。例如,如果电流过高,则关闭电机。他们需要让彼此知道他们为什么做了某事,所以我认为共享文件可能是一个简单的解决方案。各种进程可以写入这个文件,而其他进程需要知道它何时被写入。我已经将 ConfigObj 用于静态配置文件,所以我想尝试一下动态文件。写入不应该经常发生,可能最多每秒一次,并且通常比这慢得多。我想出了这个似乎有效的例子。
我的问题是是否有更好/更容易/更清洁的方法来做到这一点?
python - ConfigObj 长列表和默认值
我有几个关于 configobj 的问题,我很乐意将其用于这个项目。
第一个问题是,我如何列出很长的清单?假设我已经在规范文件中声明。
val = string_list
现在我想做 val = 一、二、三
但这是不允许的,而且
不起作用,有没有办法避免将所有内容写在一行上?
第二个问题是,如何避免声明两倍的默认值?
例如假设我有这个规范:
我理所当然地认为(前面的伪代码)
但事实并非如此,如果它没有在 conf 文件中声明它只是找不到密钥?当没有从规范中声明它们时,是否有一个神奇的选项可以让它创建密钥?
一种替代方法可能是改用 YAML,但据我所知,对于验证 ConfigObj 看起来更好。
python - python configObj可以处理没有'='的行吗
我使用 python ConfigObj 加载配置文件,如果配置文件模式为“cfgName=cfgvalue”,它会很好用。
现在我需要以这种方式编写配置文件:
篮子.ini
favoFruit['Apple','Orange']
可以(如何)通过 ConfigObj将其加载为列表?
当前我只能Invalid line at line "2"
在使用时收到错误消息cfgObj=ConfigObj('basket.ini')
YAML 或 JSON 可以做到这一点,我的问题是 ConfigObj 也可以做到吗?
python - Python:使用 ConfigObj 创建 .py 文件
我正在尝试使用 ConfigObj 创建一个 python .py 文件。
我面临的问题如下 -
- 如何使用 configObj 附加起始参数(类名、初始化语句)、导入语句等?
- 在 ConfigObj 中,我们可以使用节分隔符。如何使用注释作为部分名称?显然,.py 文件中的任何错误代码都不会运行。所以,我想使用注释作为部分标题来分隔事物。
以下是我尝试使用的 configspec 文件的代码 - (是的,我正在使用 OpenFlow) -
最后,当我运行此规范时,我的代码返回以下错误 -
显然,这意味着我无法创建正确的 configspec 来与 ConfigObj 一起运行。
我的 2 点问题的任何答案都会很棒!
python - 获取 ConfigObj 以引用字符串
如果我运行以下脚本:
输出是:
有没有办法产生以下输出?
python - 为什么 **kwargs 不使用 python ConfigObj 进行插值?
我在 python 中使用带有模板样式插值的ConfigObj 。通过 ** 展开我的配置字典似乎并没有进行插值。这是功能还是错误?有什么好的解决方法吗?
我希望第二行是/test/directory
. 为什么插值不适用于 **kwargs?
python - 为 ConfigObj 和 Unicode 使用 StringIO
我正在尝试使用 StringIO 来提供 ConfigObj。我想在我的单元测试中这样做,以便我可以根据我想在配置对象中测试的内容即时模拟配置“文件”。
我在配置模块中处理了一大堆事情(我正在阅读几个 conf 文件,为其余的应用程序聚合和“格式化”信息)。但是,在测试中,我面临着来自hell的 unicode 错误。我想我已经将我的问题归结为最小的功能代码,为了这个问题的目的,我已经提取并过度简化了这些代码。
我正在执行以下操作:
它产生以下回溯:
我在 Linux 上使用 Python-2.7.2(32 位)。我的控制台和编辑器 (Kile) 的语言环境设置为 fr_FR.utf8。
我以为我可以做到这一点。
从io.StringIO 文档中,我得到了这个:
StringIO 对象可以接受 Unicode 或 8 位字符串,但混合使用两者可能需要一些注意。
从ConfigObj 文档中,我可以这样做:
这:_
文件:无
您无需指定 infile。如果省略它,将创建一个空的 ConfigObj。infile 可以是:
“编码”:无
默认情况下,ConfigObj 不会将您传递的文件/字符串解码为 Unicode [8]。如果您希望您的配置文件为 Unicode(键和成员),您需要提供一个编码来解码文件。此编码也将用于在写入时对配置文件进行编码。
我的问题是它为什么会产生这个?从(简单的)Unicode处理中我还有什么不明白的?...
通过查看这个答案,我改变了:
到(预先导入编解码器模块):
为了摆脱可能包含的字节顺序标记,但这并没有帮助。
非常感谢
注意:如果我使用 StringIO.StringIO 而不是 io.StringIO,我有相同的回溯。