|
|
1
2
JSON是XML的一个很好的替代品,它也很容易阅读 和 用Python编写。 |
|
|
2
2
我发现 ConfigObj 真的很有用。它类似于Windows上的“ini”格式,但更灵活。 可以为配置标志设置类型和约束。您还可以将默认设置与用户设置合并,即某些设置可能会从 用户的 配置文件,指示应使用默认值。这使得升级非常无缝,除非你需要对现有设置进行一些神奇的重新解释。 RabbitVCS有一个例子 ConfigObj specification 和 this 是实现它的代码。 |
|
|
3
2
(Django使用settings.py)
对于我自己的程序。。。我通常要么像您提到的那样使用Python文件,要么使用
这取决于我的观众是谁的配置文件。。。同为python程序员或非程序员的人。 |
|
|
4
1
谁说大型程序不使用这种技术?:-)有道理的话,他们会的。 为什么有使用XML的趋势?这是为了解决验证所提供的数据的问题,确保多个数据生成器不必互相了解,确保多个阅读器对数据进行相同的解释,将数据的性质封装在数据文件本身中。。。不停地。。。 为什么你的朋友告诉你要避免?因为对于你的应用程序来说可能太麻烦了:-) |
|
|
5
1
你的朋友可能给了你最好的主意。。。取决于你的情况。它将很快,它将很容易对你和程序,将不需要召集额外的库(或天堂禁止,仅安装一个)。
最好的论据
反对
使用
如果你认为这不合适,我认为如果你的设置足够简单的话,你可以将它们保存在纯文本文件中(毕竟,阅读in I样式设置是一行,a-la
如果您的结构更结构化,那么JSON或YAML都应该这样做。另见:
你可以做的XML。。。但那不是对人类友好的。 |
|
|
6
1
我想说,这取决于存储的设置的复杂性和对象或目的。 如果是我,我会用下面的内容作为最初基于需求的评估的基础,然后从那里开始。 A) 我的数据需要多个嵌套层吗?
B) 我需要存储值数组还是其他复杂的数据类型?
C) 我需要将参数映射到实时流吗?
D) 是否要在文件中插入或交叉引用键值?
最后, INI文件应该是简单的,插入参数很容易,但是在需要时很难变得更复杂。 JSON全面良好,很好地支持嵌套键值或数组对象和数据类型支持。适合web开发或JS对象集成。插值困难,很难在不替换整个对象的情况下主动调整嵌套的键值。 YAML也很好,我非常喜欢对python对象和模块的内部规范的支持。有些数据类型可能有点奇怪,或者对于某些版本的python不可用。数组的嵌套有点奇怪,带有很多键的嵌套键值对象的轮廓可能会很单调。 您选择什么取决于您的需求是什么,但作为一个规则,我通常远离xml,主要是因为键不能以JSON或YAML那样的方式提供信息。 更新: 我只是在复习 YAML docs 我看到了下面的信息,我想你会发现它很有用。
很酷吧?无论如何,考虑到这些信息,我可能会默认为JSON,然后如果我需要转到YAML。 |