gpt4 book ai didi

python - 用于存储交叉引用的最合适的文件格式

转载 作者:行者123 更新时间:2023-12-01 09:23:10 28 4
gpt4 key购买 nike

我需要将一些元信息和 Assets 之间的依赖关系存储在文件中,我可以使用这些文件来进行一些验证。

以 JSON 为例,我的元数据文件将如下所示 (/publish/path/metadata/poster.json):

{
'created_by': 'John',
'creation_date': '12112018',
'version': '005',
'creator_comments': 'Updated to latest published images for Poppy',
'path_to_file': '/publish/path/images/poster.png',
'dependencies': [
'/publish/path/metadata/poppy.json',
'/publish/path/metadata/dwarf.json',
'/publish/path/metadata/giant.json'
]
}

和(/publish/path/metadata/poppy.json):

  {
'created_by': 'Daug',
'creation_date': '12102018',
'version': '003',
'creator_comments': 'Poppy is more red on top',
'path_to_file': '/publish/path/images/poppy.png',
'dependencies': [
'/publish/path/metadata/poppy_drawing.json',
'/publish/path/metadata/poppy_effect.json'
]
}

我正在寻找一种最适合执行以下操作的文件格式

  1. 能够存储对其他文件的引用
  2. 受可处理引用的 Python 库支持
  3. 人类可以轻松阅读
  4. 查看器或浏览器支持允许我遍历引用的文件

您认为什么最适合我的用例?

最佳答案

JSON、YAML 和 XML 都是流行的文件格式,各有优缺点。还有其他文件格式,例如 TOML , INI files和别的。以下是 JSON、YAML 和 XML 的概述:

JSON

  • 优点
  • 缺点
    • 很难读取多行,因为换行符表示为 \n
    • 不太适合手工创建
  • 实现
    • Google 应用凭据
    • NPM package.json
    • Swagger/OpenAPI

YAML

  • 优点
  • 缺点
    • 没有像 JSON 那样出现在那么多核心语言库中
  • 一些实现
    • Ruby on Rails 配置文件
    • Swagger/OpenAPI

XML

  • 优点
  • 缺点
    • 非常冗长且难以阅读
    • XML 库用于解析和创建,例如libxml2。
  • 一些实现
    • RSS/Atom

摘要

  • JSON,如果您的数据量有限,并且没有具有多行值的数据,或者人类不希望读取多行值。这对于配置文件很有用,因为通常不需要外部依赖项
  • YAML(如果您有更多需要人工创建/编辑的数据,包括多行值)
  • XML(如果您有大量数据,在 GB 范围内)

根据您的查看器要求,您可以使用架构来识别文件链接,然后修改现有查看器以在存在时添加链接。当然,您也可以随时从头开始创建自己的。

对于您所说的要求,JSON 和 YAML 似乎是最合适和流行的。好处是有许多通用工具可以来回转换 JSON 和 YAML。自动转换对于其他文件格式并不那么普遍。

关于python - 用于存储交叉引用的最合适的文件格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50641988/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com