当前位置: 首页 > 面试题库 >

Python配置文件:建议使用任何文件格式?INI格式还合适吗?似乎学校很老

咸臻
2023-03-14
问题内容

我需要为Python应用程序存储配置(键/值),我正在寻找将这些配置存储在文件中的最佳方法。

我碰到了Python的ConfigParser,我想知道INI文件格式现在是否真的仍然合适?是否存在更新的格式,还是仍然建议使用INI?(XML,JSON等)

请分享您的意见/建议…


问题答案:

考虑使用普通的Python文件作为配置文件。

范例(config.py):

# use normal python comments

value1 = 32
value2 = "A string value"

value3 = ["lists", "are", "handy"]
value4 = {"and": "so", "are": "dictionaries"}

在您的程序中,使用exec(docs)加载配置文件:

from pathlib import Path

if __name__ == "__main__":
    config = {}
    exec(Path("config.py").read_text(encoding="utf8"), {}, config)

    print config["value1"]
    print config["value4"]

我喜欢这种方法,原因如下:

  • 在简单的情况下,格式就像INI样式的配置文件一样易于编写。它还与INI文件具有一个重要特征:非常适用于版本控制(对于XML和JSON而言不太正确)
  • 我喜欢使用实际编程语言编写配置文件所带来的灵活性。

该方法被广泛使用,例如:

  • Django网站的设置位于settings.py中。Django不使用execfile,它用于import读取/执行settings.pyAFAIK,但是最终结果是相同的:执行了设置文件中的代码。
  • bash shell会~/.bashrc在启动时读取并执行。
  • Python解释器site.py在启动时导入。


 类似资料:
  • 配置文件使用的是 JSON 格式。 JSON 中使用的数据结构和变量名对应着 Burp UI 中显示选项。生成配置文件的最简单方法是在 Burp UI 中创建所需的配置,然后保存为配置文件。您还可以手动编辑现有的配置文件,其内容是很容易就可以看懂的。 部分配置文件可以在需要时使用。您可以通过每个子工具选项卡的配置面板上的”选项(Options)”按钮来保存该区域的配置,或者通过从完整配置的文件中删

  • 本文向大家介绍Shell实现读取ini格式配置文件方法,包括了Shell实现读取ini格式配置文件方法的使用技巧和注意事项,需要的朋友参考一下 ini文件格式一般都是由节、键、值三部分组成 格式: [第一节 ] 第一个键 = 值 第二个键 = 第二个值 [第二节 ] 第一个键 = val1,val2,val3 例子: 其实这个作用没那么特别大,但多个shell如果每个配置信息都在shell文件里面

  • 在使用gradle和shadow插件创建fat jar时,如何将HOCON格式化文件组合到LightBen/TypeSafe配置https://github.com/lightbend/config? 即。有>1个模块提供了文件,在创建fat JAR时需要合并该文件。 我希望一些不需要附加代码的东西能够工作,即不需要自定义转换器(https://imperceptiblethoughts.com/

  • 格式约定: 参阅xsd文件(包含在jar中): nutz-ioc-0.1.xsd Git@OSC镜像 示例文件 示例 Git@OSC镜像: <ioc xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="nutz-ioc-0.1.xsd"> <obj name="o

  • V2Ray 的配置文件形式如下,客户端和服务器通用一种形式,只是实际的配置不一样。 { "log": {}, "api": {}, "dns": {}, "stats": {}, "routing": {}, "policy": {}, "reverse": {}, "inbounds": [], "outbounds": [], "transport":

  • 我需要考虑如何将我的数据写入Hadoop。 我正在使用Spark,我从Kafka主题中得到了一条消息,每条消息都在JSON记录中。 我每天大约有200B张唱片。 有什么建议吗?