我已经累积了一组500个左右的文件,每个文件都有一个存储元数据的数组和标题。类似的东西:
2,.25,.9,26 #<-- header, which is actually cryptic metadata
1.7331,0
1.7163,0
1.7042,0
1.6951,0
1.6881,0
1.6825,0
1.678,0
1.6743,0
1.6713,0
我想有选择地将这些数组读入内存。我们构建了一个GUI,允许用户从磁盘中选择一个或多个文件,然后将每个文件读入程序。如果用户想要读入所有500个文件,则程序打开和关闭每个文件的速度很慢。因此,我的问题是:它会加快我的程序将所有这些存储在一个结构中吗?像hdf5这样的东西?理想情况下,这将比单个文件具有更快的访问速度。最好的方法是什么?我还没有处理过这些类型的考虑因素。什么是加速Python瓶颈的最佳方法?总数据只有几兆字节,我甚至可以将它存储在某个地方的程序中,而不仅仅是在磁盘上(但不知道如何做到这一点)
答案 0 :(得分:1)
在python中读取500个文件不应该花费太多时间,因为整个文件大小约为几MB。您的数据结构在文件块中简单明了,我猜它甚至都不需要花太多时间来解析。
实际的缓慢是打开和关闭文件的bcoz,然后可能存在与操作系统相关的问题(它可能具有非常差的I / O.)
你有没有想过要花多少时间阅读所有文件呢?
您也可以尝试使用sqllite等小型数据库结构。您可以在哪里存储文件数据并快速访问所需的数据。