- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在查看 ConfigObj,但遇到了验证和单元素列表方面的问题。假设我有一个如下所示的配置规范:
config_specification = """[Data]
[[__many__]]
type = option('sense.xml')
transport = string
sensors = list
[[[Identifier]]]
type = option("name", "mac", "uuid")
adapter = string(default='')
name = string(default='')
file = string(default='')"""
现在该列表实际上可以只是一个元素,也可以是多个元素。我可以轻松地做不止一个:
[Data]
[[primary]]
type = sense.xml
transport = $http
sensors = $virtual, $gpio, $adc
[[[Identifier]]]
type = name
name = VirtualRelay01
但以下是无效的。它不会将其转换为 1 的列表:
sensors = $virtual
我尝试了几种变体。这个不行
sensors = {$virtual}
这个也没有:
sensors = [$virtual]
如果我这样做,它会给我一个包含两个元素的列表!一个空字符串:
sensors = ($virtual,)
我有几个这样的部分,我把它们放在一个 for 循环中。我将它们应用于只采用列表的类,我不想单独编写所有特殊情况的代码来添加围绕这些特殊情况的列表(更不用说,它无法通过验证)。
为了完整起见,以下是我验证事物的方式:
cfg = ConfigObj(filename, configspec=config_specification.split('\n'))
test = cfg.validate(Validator())
valid = True
for (section_list, key, _) in flatten_errors(cfg, test):
if key is not None:
print('Invalid value for key {0} in section {1}'.format(key,', '.join(section_list)))
valid = False
else:
print('Section {0} failed validation'.format(', '.join(section_list)))
valid = False
if not valid:
exit(3)
最佳答案
我是当前的 configobj 开发人员之一。根据这个单元测试line ,我希望 sensors = $virtual,
以您期望的方式工作。
我不确定我对 ($virtual,)
返回一个二元素列表的感觉如何。这似乎是错误的。可能值得提出一个问题,除非你能想象一个你实际预期需要隐式空字符串的场景。
关于python - ConfigObj 和单元素列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25561597/
我有几个关于 configobj 的问题,我很乐意尝试用于此项目。 第一个问题是,我如何列出一个很长的 list ?假设我已经在规范文件中声明了。 val = 字符串列表 现在我想做 值=一, 二,
我一直在查看 ConfigObj,但遇到了验证和单元素列表方面的问题。假设我有一个如下所示的配置规范: config_specification = """[Data] [[__many__]]
我正在使用 ConfigObj 和 Validator 来解析 python 中的配置文件。虽然我非常喜欢这个工具,但我在使用 configSpec 文件进行验证时遇到了问题。我使用 option()
我使用 ConfigObj 来解析格式的配置文件: [APACHE] init_script= ... [TOMCAT] [[TOMCAT1]] init_script = [
我正在尝试使用 ConfigObj 通过函数写入配置文件。 #!/usr/bin/evn python3.5 import configobj def createConfig(path):
我正在使用 configobj 读取配置文件,如下所示。 [default] PROP1 = "12345" PROP2 = "abcde" [section1] PROP1
我在迭代 configObj 对象中的部分时遇到一些问题。我想要做的是迭代一个部分中的子部分。当我运行我的代码时,出现错误“TypeError:'Section' object is not call
如果我运行以下脚本: from configobj import ConfigObj config = ConfigObj() config.filename = 'test.cfg' config[
有人可以指导我安装 python configobj 模块吗?我是从here下载的 但是在安装过程中会报错 except Exception, e: ^ SyntaxE
我正在使用 ConfigObj 5.0.6 来保存许多用户定义的值,其中一些是嵌套的。我使用 local.ini 来取代典型值。没有前端,因此用户可以根据需要编辑配置。为了使这更容易和更直观,有一些值
我有一个 configobj 文件,我可以从中读取,但是我想使用 as_bool 方法从文件中读取一些值。目前我正在使用以下代码并惨遭失败! configFile = 'config.conf' co
我想对 configobj 的值同时使用解析时间和运行时插值配置文件。在 Python 中进行简单字符串插值的最简单方法是 "%(foo)s"% somedict。不幸的是 configobj 使用相
为 Python 程序创 build 置文件、内置模块 (ConfigParser) 或独立项目 (ConfigObj) 哪个更好? 最佳答案 我最近从 configparser 切换到 config
我一直想通过从简单的文本文件中读取变量来定义 Python 中的变量。因此,我阅读了 ConfigParser、ConfigObj、PyYaml 和 JSON 等内容。目前我对 ConfigObj 和
如何在 ConfigObj 中编写注释? 我正在使用 python 2.4.3 和 ConfigObj 4.7 我在 ConfigObj 文档中没有看到任何方法。 最佳答案 经过一些测试,我发现你也可
我正在尝试安装模块 ConfigObj。我做的一切都是正确的 在 CMD 中输入: python setup.py install 但告诉我一个回溯(错误) > C:\Users\Frederik\D
我正在 Python 中使用 ConfigObj 来读取我的配置文件。我需要从配置文件中读取列表列表。这是我到目前为止所尝试过的: 章节和小节 - 创建字典,而不是列表 list_of_lists =
我正在尝试使用 StringIO 来提供 ConfigObj。我想在我的单元测试中执行此操作,以便我可以根据我想在配置对象中测试的内容动态模拟配置"file"。 我在配置模块中处理了一大堆事情(我正在
我正在使用 ConfigObj在带有模板样式插值的 python 中。通过 ** 打开我的配置字典似乎没有进行插值。这是功能还是错误?有什么好的解决方法吗? $ cat my.conf foo = /
为 Python 程序创 build 置文件,内置模块(ConfigParser)或独立项目(ConfigObj),或使用 YAML 数据序列化格式,哪个更好?我听说 ConfigObj 比 Conf
我是一名优秀的程序员,十分优秀!