【问题标题】:Does there exist ini parser that support lists and files without sections in python?在 python 中是否存在支持列表和文件的 ini 解析器?
【发布时间】:2014-11-26 01:40:51
【问题描述】:

我是python新手,我需要读取带有数据列表的ini文件:

list[] = 1
list[] = 2 
list[] = 3

和没有节的文件。我知道 ConfigParser 模块,我看到了大量的 hack 来使它与这些东西兼容,但我不想在我的代码中写下所有这些废话。我只想要 normal 能够自己做到这一点的库。

能否请您推荐一些能够处理 ini 文件的模块?

【问题讨论】:

  • 这不是INI 格式。
  • 你为什么要这样?
  • @Amadan rlly?它在 C、javascript、PHP、Perl 中使用了多年。在 Windows 和 Linux 上。我第一次看到这些东西不受支持-python,在模块中甚至无法读取无节文件:/
  • 我听说了另一个名为 iniparse 的 inni-parser。 code.google.com/p/iniparse也许这个有帮助。
  • 可以肯定的是,这些不是规格;我不认为 INI 文件有规格。但这些是大多数解析器都支持的常用功能。

标签: python ini


【解决方案1】:

由于“INI”-文件语法没有标准,大多数库重新发明了一些常见的约定。恕我直言,它们都很糟糕(尤其是 ConfigParser)。我建议使用 JSON 而不是 INI 文件。如果是不同平台之间的交换,请使用各自的标准库将“ini”转换为“json”并将其作为 json 导出到 python。

正如 Amadan 在下面的 cmets 中提到的,YAML 可能更好,但我建议使用 json,因为它在 python 的 stdlib 中得到支持,而 yaml (afaik) 不支持,至少在 2.x 中。

【讨论】:

  • 或 YAML。它对人类更好,形式上与INI非常相似,比JSON更强大;唯一的缺点是 Python 本身不支持它,需要一个库。
  • 如果它是一个配置文件,JSON 将更难阅读。考虑改用 YAML
  • @VincentBeltman 是的,刚刚建议同事使用 YAML,因为 JSON 很难手动维护。他们很高兴。谢谢!
猜你喜欢
  • 2019-03-09
  • 2015-09-29
  • 1970-01-01
  • 2011-09-18
  • 2021-01-06
  • 2018-08-30
  • 2012-09-24
  • 1970-01-01
  • 2019-02-25
相关资源
最近更新 更多