如何在Python应用程序中存储和使用300KB的查找表?

2024-06-03 03:00:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在编写一个端口扫描程序,我希望程序在输出中显示每个端口的描述(例如:“http”、“ssh”等)。我计划使用IANA port list,但作为Python字典需要大约300千字节

我有什么选择?我应该仅仅使用巨型dict,还是以某种方式压缩它,或者将它嵌入到SQLite数据库中?对于如何在Python程序中安装一个巨大的数据包,我非常感谢所有的建议

(显然,最简单的解决方案是不使用IANA列表,但我至少想先尝试一下。另外,我真的很好奇这是怎么做到的。)


Tags: 端口程序数据库httpsqlite字典字节port
1条回答
网友
1楼 · 发布于 2024-06-03 03:00:09

有一个名为klepto的优秀模块,它可以帮助您通过缓存和用于存储数据的存档来访问数据。它将数据存储到数据库中,但使用类似字典的接口供您使用

另一方面,文件大小足够小,即使使用普通的python dict并在事务处理后对其进行pickle处理,也不会有太多的性能损失

相关问题 更多 >