【问题标题】:How to parse .sketch files in Python如何在 Python 中解析 .sketch 文件
【发布时间】:2015-09-05 13:15:34
【问题描述】:

如何解析由sketch - mac 应用程序生成的.sketch 文件?

我知道psd_tools可以用来解析Adobe Photoshop中生成的.psd文件。

【问题讨论】:

  • 不幸的是,谷歌搜索“python草图”并没有提供任何有用的信息。除非你想笑……:-)
  • 确实如此:D
  • 草图支持CocoaScript plugin。您可以制作插件并导出草图内容。

标签: python macos sketch-3


【解决方案1】:

我没有任何使用 Sketch 的经验,但我下载了一个示例 .sketch 文件,结果证明它是一个“SQLite 3.x 数据库”。这意味着您可以使用 python 的sqlite3 模块打开它。

碰巧我写了一些代码来检查另一个sqlite数据库,所以我看了一下:它包含一个元数据表和一个“有效负载”表(分别称为metadatapayload) ,两者都只有namevalue 列。但是,payload 表只有一行,并且在两个表中,值似乎都是我不认识的其他格式的容器。所以虽然sqlite3是文件格式,但看起来只是洋葱的外层。

【讨论】:

  • 这是一个开始。非常感谢。我会尽快调查并在这里更新我的发现。
  • 嘿!我交叉检查了你提供的信息,我认为你说得对。 payload 表和metadata 表中的数据属于blob formatBinary Large OBject (BLOB) 基本上是在数据库管理系统中存储为单个实体的二进制数据集合,通常是 imagesaudio 或任何其他 multimedia 文件,在本例中为 image layers。我认为它可以很容易地解析成json 格式。我将您的答案标记为正确答案。干杯并感谢您为我指明了正确的方向!
  • 很高兴听到这个消息!并感谢您提供后续信息。如果您获得可以将文件转换为 json(也可能返回)的工作代码,请考虑在此处发布。您可以期待其他人将来也会有同样的问题。
  • 是的,会的。我写完脚本后会在此处发布 github 链接!
  • 有关于破解 .sketch 文件的消息吗?
【解决方案2】:

编辑: 新的草图文件格式(> 43)非常友好。 它实际上是一个 zip 文件夹,其中包含描述内容的资产和 json 文件。 http://sketchplugins.com/d/87-new-file-format-in-sketch-43

【讨论】:

  • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
  • @lu.koerfer 谢谢你,我已经修正了我的答案。顺便说一句,Petter 解释后我明白了这个问题。
【解决方案3】:

特别是因为我不熟悉 Sketch,我不知道 psd_tools 的任何等价物。但是,this question 可能会对您有所帮助。否则,您可能需要创建自己的解析器。

【讨论】:

  • 感谢您的帮助,但我正在寻找的是专门在 python 中解析 .sketch 文件数据而不是转换它的模块。现在已经在互联网上搜索了一段时间,但只遇到了咖啡脚本中的framerJs
猜你喜欢
  • 1970-01-01
  • 2010-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多