python对文件加载到内存进行索引缓存
来源:互联网 发布:淘宝会员名取不了 编辑:程序博客网 时间:2024/04/28 05:13
前几天写了一个函数,加载文件到内存里进行查找(扔到数据库里有点慢,不想那么搞)。
数据是格式规范的数据,用'|'分隔,按列进行索引:
比如,我们对以下数据进行索引:
1|2|3
#comment
a|bc
可以选择使用第一列索引:
>>> index_file(('1|2|3', 'a|b|c', ' # a comment line '), vertical_sep, '/' , 0)
{'1': ['1', '2', '3'], 'a': ['a', 'b', 'c']}
使用第一列和第三列作为索引:
>>> index_file(('1|2|3', 'a|b|c', ' # a comment line '), vertical_sep, '/' , 0,2)
{'a/c': ['a', 'b', 'c'], '1/3': ['1', '2', '3']}
唯一的问题是索引和数据是绑定在一起的,遇上需要对某个文件建多个索引时,会有多个数据副本。 不过,这也可以很容易修改。
在github上查看源代码
写这个函数还遇上了一个问题:在list作为dict的key,使用dict的keys()方法时,in操作符居然是线性查找。StackOverflow的问题解释在这里:
http://stackoverflow.com/questions/10205969/why-in-operator-with-tuple-as-a-key-in-python-so-slow
- python对文件加载到内存进行索引缓存
- android 网络加载图片,对图片资源进行优化,并且实现内存双缓存 + 磁盘缓存
- android 网络加载图片,对图片资源进行优化,并且实现内存双缓存 + 磁盘缓存
- android 网络加载图片,对图片资源进行优化,并且实现内存双缓存 + 磁盘缓存
- android 网络加载图片,对图片资源进行优化,并且实现内存双缓存 + 磁盘缓存
- android 网络加载图片,对图片资源进行优化,并且实现内存双缓存 + 磁盘缓存
- android 网络加载图片,对图片资源进行优化,并且实现内存双缓存 + 磁盘缓存
- 如何对Android内存缓存进行优化
- SAX 解析到文件,缓存到内存
- android中图片加载使用LruCache缓存到内存或外部文件的功能
- python对文件进行读写
- 禁止Chrome对web文件进行缓存
- Android之ListView异步加载网络图片(优化缓存机制)和对图片资源进行优化,并且实现内存双缓存 + 磁盘缓存
- 加载大图片到内存,进行缩放
- 把ELF文件加载到内存后进行重新搬移,并且执行
- lucene读取索引文件到内存
- Android – 加载图片本缓存到内存与本地
- DSP 从外部加载文件到内存
- Android 3.0 r1中文API文档(103) —— InputMethodManager [输入法]
- 设置MySql允许外部连接的方法
- pop-click噪声
- 更改cell选中后的颜色
- 汉字转拼音的使用手册
- python对文件加载到内存进行索引缓存
- 让label自适应里面的文字,自动调整宽度和高度。
- 帮父母揉肩捶背,轻松脊椎
- android 软键盘 InputMethodManager
- 算法系列15天速成——第十一天 树操作(上)
- Handler用法
- 无法定位程序输入点_except_handler4_common于动态链接库msvcrt.dll上
- 解决eclipse svn插件不能识别自己svn服务器中项目的问题(点team没有相关功能)
- C程序内存分配