Python 用于中小型分层数据结构的GUI工具和API
我正试图找到一个工具和库来编辑、写入和读取分层结构中的数据,类似于LDAP树、Windows注册表或Berkeley DB结构。 键应该表示某种层次结构,值应该具有相对灵活的格式(键入是可选的,但可能有用)。以下是一个例子:Python 用于中小型分层数据结构的GUI工具和API,python,user-interface,data-structures,hierarchical-data,Python,User Interface,Data Structures,Hierarchical Data,我正试图找到一个工具和库来编辑、写入和读取分层结构中的数据,类似于LDAP树、Windows注册表或Berkeley DB结构。 键应该表示某种层次结构,值应该具有相对灵活的格式(键入是可选的,但可能有用)。以下是一个例子: Items/item_1/shape = "rectangle" Items/item_1/top = 10 Items/item_1/left = 10 Items/item_1/width = 30 Items/item_1/height = 40 Items/ite
Items/item_1/shape = "rectangle"
Items/item_1/top = 10
Items/item_1/left = 10
Items/item_1/width = 30
Items/item_1/height = 40
Items/item_2/shape = "square"
Items/item_2/top = 10
Items/item_2/left = 10
Items/item_2/width = 30
Items/item_3/shape = "circle"
Items/item_3/centre_x = 40
Items/item_3/centre_y = 50
Items/item_3/radius = 20
Items/item_3/colour = blue
用例将是:
- 项目/项目1
- 项目/项目2
非常感谢您的评论和建议。请原谅我的密集性,但如果您的层次结构不是最粗糙的示例,那么您选择JSON甚至(吞咽!)XML时一定有非常令人信服的、压倒一切的理由: 1. 矩形 10 10 30 40 2. 三角形 20 50 30> 40 对于XML,您知道有很多编辑器可以满足您的需要。JSON也是如此。我认为还有XML->MySQL->XML库
为什么不采取这种方法呢?谢谢你的建议。我也考虑过XML,但我希望避免每次需要读取DOM文档时加载该文档的开销(内存限制)。这将最终成为一个大文件(在RDBMS方面很小,但大约为5-10MB)。不过,对于exchange格式来说,这是很好的。我认为,如果SQL引擎具有一些原生XML支持(MySQL、PostgreSQL),那么速度和内存需求将因SQL引擎索引XML文档的方式而发生很大变化。我必须承认我脑子里想的是更嵌入式的东西,而SQLite似乎不支持XML操作。“更嵌入式”:那就太好了。不过,和你一样,我也不知道有什么能让你摆脱编写至少一些代码的痛苦。你能用一个shell脚本把所有的片段装订在一起吗?是否有助于考虑在浏览器窗口中运行应用程序?我不介意为此编写一些代码,但最好不要为GUI编写代码。我心目中的“更嵌入式”类似于SQLite,它不需要运行其他服务器。如果不可能,我想我可以设置一个MySQL或PostgreSQL服务器,但我更愿意编写不依赖于特定SQL风格的代码。我不介意SQL的一些小改动,但根据我的经验,SQL数据库中的XML支持不仅在语法上不同,而且在支持的内容上也不同。 <items> <item> <number>1</number> <shape>rectangle</shape> <top>10</top> <left>10</left> <width>30</width> <height>40</height> </item> <item> <number>2</number> <shape>triangle</shape> <top>20</top> <left>50</left> <width>30></width> <height>40</height> </item> </items>