gpt4 book ai didi

python - 将数据结构(集合)存储为文件但不将其加载到内存中

转载 作者:行者123 更新时间:2023-11-28 16:55:29 26 4
gpt4 key购买 nike

我有一个 2gb 的文本文件,用于过滤掉我不常访问的 python 程序使用的值。我通过将每一行加载到一个集合中并进行快速包含检查来做到这一点。起初当文件只有几兆字节时这是个好主意,但一年后文件变大了,初始加载时间变得难以管理,即使我的 RAM 基本上是无限的。

在我用基于文件的二进制搜索替换我现有的代码之前,我想问一下是否有任何方法可以直接将集合功能用作磁盘上的文件?我知道有一些工具可以存储数据结构并将它们加载到内存中,但加载部分是这里的问题。

最佳答案

最好的办法是将其存储到数据库中。 MongoDB 可以很好地处理集合。然后你就可以像做集合一样查询数据库了。

你必须安装

sudo apt install mongodb-server-core
pip3 install pymongo
And create a /data/db directory on your drive with the right permissions then run
mongod &
before this code will work:

from pymongo import MongoClient
client = MongoClient()

client = MongoClient('localhost', 27017)

#client = MongoClient('mongodb://localhost:27017')


db = client.pymongo_test

posts = db.posts
post_data = {
'title': 'Python and MongoDB',
'content': 'PyMongo is fun, you guys',
'author': 'Bill'
}
result = posts.insert_one(post_data)
print('One post: {0}'.format(result.inserted_id))

bills_post = posts.find_one({'author': 'Bill'})
print(bills_post)

One post: 5dc61c0cc2b75ebc458da31f
{'_id': ObjectId('5dc61bf76071bde943ca262b'), 'title': 'Python and MongoDB', 'content': 'PyMongo is fun, you guys', 'author': 'Bill'}
``

关于python - 将数据结构(集合)存储为文件但不将其加载到内存中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58775537/

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