从多个.txt文件或字典中读取大量数据是否更快?

2024-04-20 00:07:46 发布

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

我正在进行一个个人项目(使用python3),它将检索美国任何城市的天气信息。我的程序提示用户输入任意多个城市-州组合,然后检索天气信息并为输入的每个城市创建天气摘要。在幕后,我基本上是获取用户输入的状态,打开一个与该状态对应的.txt文件,然后获取与输入的城市相关联的天气代码,然后在URL请求中使用该代码来查找该城市的天气信息。因为每个州都有一个.txt文件,所以我有50个.txt文件,每个文件都有大量的城市天气代码组合。你知道吗

将我的算法保持目前的状态会更快吗,或者将所有这些数据保存在字典中会更快吗?我就是这么想把数据存储在字典里的:

info = {'Virginia':{'City1':'ID1','City2':'ID2'},'North Carolina':{'City3':'ID3'}} 

我很乐意提供我的一些代码或详细说明,如果必要的话。你知道吗

谢谢!你知道吗


Tags: 文件数据项目代码用户程序infotxt
3条回答

拥有大量的文本文件可能不是一个好主意,因为它会减慢对大量或大量控制器(director,y | ies)的访问速度。但是如果您有大量的数据记录,您可能希望选择一种中间解决方案,为一个数据文件编制索引并将索引加载到字典中。你知道吗

如果对许多用户请求使用相同的python进程,那么从文件中预加载数据肯定会快得多。如果进程只处理一个请求并退出,那么这种方法将更慢并且使用更多内存。对于一些介于“一”和“多”之间的请求,它们的速度应该是相等的。你知道吗

对于这种情况,我可能会使用sqlite,python对此有内置的支持。它比扫描文本文件要快得多,而不需要加载完整字典的时间和内存开销。你知道吗

如果您有一个大的数据文件,您将花费数天的时间在该文件中移动,并将值放入.py文件中。如果它是一个小文件,我会用字典,但如果它是一个大文件.txt文件。你知道吗

其他可能的解决方案包括:

其他资源

Basic data storage with Python
https://docs.python.org/3/library/persistence.html
https://docs.python.org/3/library/pickle.html
https://docs.python.org/3/library/shelve.html

相关问题 更多 >