Python中文
首页
教程
问答
标签
搜索
登录
注册
python Seek上的大文本
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>其文件大小介于5到5 Gig之间。我用Python来阅读它们。我有字节偏移量方面的特定锚点,我可以<code>seek</code>并从这些文件中读取相应的数据(使用Python的<code>file</code>api)。在</p> <p>我看到的问题是,对于相对较小的文件(<;5Gig),这种读取方法效果很好。但是,对于大得多的文件(>;20 gig),尤其是当<code>file.seek</code>函数需要更长的跳转(比如一次需要几百万字节),它(有时)需要几百毫秒才能完成。在</p> <p>我的印象是文件中的seek操作是持续时间操作。但显然,他们不是。有办法绕过它吗?在</p> <p>我正在做的是:</p> <pre><code>import time f = open(filename, 'r+b') f.seek(209) current = f.tell() t1 = time.time() next = f.seek(current + 1200000000) t2 = time.time() line = f.readline() delta = t2 - t1 </code></pre> <p><code>delta</code>变量间歇性地在几微秒到几百毫秒之间变化。我还分析了cpu的使用情况,也没有看到有什么忙的。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>一个很好的解决方法是组合来自OS模块<code>os.open</code>(在您的例子中是带有标志<code>os.O_RDONLY</code>)、<code>os.lseek</code>、<code>os.read</code>的函数,这些函数处于低级I/O</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
当用户用PYTHON设置一个或一个不带值的URL时,他们怎么能输入一个/a的代码呢?
3 回答
当用户登录到站点时,如何显示不同的导航栏
4 回答
当用户登录时,在Flask中向用户显示处理结果
7 回答
当用户的Flask会话结束时,我如何从Redis后端中移除所有Celery结果?
4 回答
当用户的Okta配置文件字段当前为blan时,更新该字段
2 回答
当用户的付款逾期2天时,从Django模型检索数据
7 回答
当用户的消息以问号结尾时,如何让机器人说些什么?
7 回答
当用户的系统上可能也安装了Python 2.7时,如何在用户的系统上运行Python 3脚本?
3 回答
当用户确定打印数量时,使用Matplotlib打印动画
7 回答
当用户离开时是否可以删除整个网页?
1 回答
当用户给出一个单词时如何打印?
7 回答
当用户继续更改TKin中的值(使用trace方法)时,使用Entry并更新输入的条目
8 回答
当用户编辑表单字段时,从Django时间字段中删除秒数
1 回答
当用户被更改时,消息不会来自web套接字
6 回答
当用户访问表单时,如何使表单为只读,而不具有更改权限
9 回答
当用户试图更改对象的值时,使用描述符类引发RuntimeError
5 回答
当用户调整GUI的大小时,是否有方法更改GUI内容的大小?
7 回答
当用户调整风的大小时,pythontkinter小部件的大小会不均匀
4 回答
当用户购买某个类别时,是否查找其他类别的销售?
4 回答
当用户转到上一页时,Django和芹菜插入操作
9 回答