Python 我想在1GB的文本文件中存储不同类别的数据???(从某种意义上说,数据是输入数据(纯文本)),我想存储并访问它
我们的项目是创建类似stack overflow网站的讨论论坛。但它是python中的命令行应用程序。我们只需要使用1GB空间的文本文件来存储所有信息(我不想使用外部依赖项)。我们的讨论论坛包含6个类别。所以我有一个想法,如果我把文件分成块,那么我可以在每个块中存储每个类别的数据。如果我这样存储,如何访问它。如果我出错了,请告诉我正确的方法,并且要快。我建议再创建一个索引文件,以便快速访问特定的帖子。索引项应具有以字节为单位的恒定长度,并且应为快速查找对项进行排序。对于索引文件中的每个条目,您需要:唯一标识符、偏移量(只需在数据文件上处理好旧的fseek)和文章长度。因为不会对数据文件执行复杂的搜索,只需fseek X字节和read Y字节,所以您可以安全地对数据文件中的每个post进行压缩(例如,使用gzip) <> P>另一件事你必须考虑的是,帖子可能会改变或张贴后它们是不可变的吗?如果可以更改/编辑/删除它们,则必须对数据文件进行碎片整理和重新索引,因为:Python 我想在1GB的文本文件中存储不同类别的数据???(从某种意义上说,数据是输入数据(纯文本)),我想存储并访问它,python,Python,我们的项目是创建类似stack overflow网站的讨论论坛。但它是python中的命令行应用程序。我们只需要使用1GB空间的文本文件来存储所有信息(我不想使用外部依赖项)。我们的讨论论坛包含6个类别。所以我有一个想法,如果我把文件分成块,那么我可以在每个块中存储每个类别的数据。如果我这样存储,如何访问它。如果我出错了,请告诉我正确的方法,并且要快。我建议再创建一个索引文件,以便快速访问特定的帖子。索引项应具有以字节为单位的恒定长度,并且应为快速查找对项进行排序。对于索引文件中的每个条目,您需
你的论坛大约有6个类别:类别可以通过前3位(最多可以区分8个类别)或更安全的4位(最多16个类别)来区分。数据文件中块的长度保持不变不是一个好主意,因为类别可能包含非常不同的内容量。此外,它对查找没有多大帮助。有代码吗?到目前为止你们有什么?不,我们有一个不使用数据库的限制@AshwiniChaudhary@user1922399“若我出错了,请引导我找到正确的方法”-正如Ashwini提到的,正确的方法是使用数据库。@PeterVaro我尝试使用seek()函数在每个索引的开始索引和结束处保留分隔符。如果我这样做的话,它从头到尾都是以一行代码的形式读取整个数据:f=open(“test1.txt”,“wb”)f.write(“users@”)u_space=100*1024*1024 f.seek((u_space)-14)f.write(“users@\n”),我不想使用数据库:(我理解不使用数据库的原因。@user1022399详细地说数据库不是一个选项。我猜他在期待关于搜索大文件的提示。