gpt4 book ai didi

python - 使用 Python 读取大文件

转载 作者:太空宇宙 更新时间:2023-11-04 09:13:47 24 4
gpt4 key购买 nike

我正在尝试读取目录中的一些文件,该目录包含 10 个文本文件。随着时间的推移,文件数量增加,目前总大小约为 400MB。

文件内容的格式:

student_name:student_ID:date_of_join:anotherfield1:anotherfield2

如果匹配,我必须打印出整行。这是我尝试过的。

findvalue = "student_id" #this is users input alphanumeric
directory = "./RecordFolder"
for filename in os.listdir(directory):
with open(os.path.join(directory, filename)) as f:
for line in f:
if findvalue in line:
print line

这可行,但需要花费大量时间。如何减少运行时间?

最佳答案

当文本文件变得太慢时,您需要开始查看数据库。数据库的主要目的之一是智能地处理来自持久数据存储的 IO。

根据您的应用需求,SQLite可能很合适。我怀疑这就是你想要的,因为你似乎没有庞大的数据集。从那里开始,只需进行数据库 API 调用并允许 SQLite 处理查找——它比您做得好得多!

如果(出于某些奇怪的原因)您真的不想使用数据库,那么请考虑进一步将您的数据分解成树,如果可能的话。例如,您可以为放置学生数据的字母表中的每个字母创建一个文件。这应该会减少循环时间,因为您正在减少每个文件的学生人数。这是一个快速的 hack,但我认为如果你使用数据库,你会掉得更少。

关于python - 使用 Python 读取大文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11809925/

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