知道一个文本中某些行的行号,怎样用python直接读出来呢?如只想读出第100行的文本。

哦我也知道这样可以,可文件比较大,都读入会有点浪费啊,能不能只读某几行?... 哦我也知道这样可以,可文件比较大,都读入会有点浪费啊,能不能只读某几行? 展开
 我来答
书荒莫慌
2010-11-17 · TA获得超过2972个赞
知道小有建树答主
回答量:700
采纳率:0%
帮助的人:529万
展开全部
1.python中只有seek能跳跃的读,但是是按照字节来的,如果你的文本每一行都是一样的长度的话倒是可以。f.seek(99*n)之后再f.readline()

2.如果不知道每行长度的话,那么就循环100次readline()吧,这个总比直接readlines()好,如果全部长1万行,这样也只读了100行,readlines()却要读10000行。

3.如果文本是自己写的话,可以事先坐下标记最好了。
百度网友336faa9
2015-12-14 · TA获得超过1292个赞
知道小有建树答主
回答量:2772
采纳率:0%
帮助的人:617万
展开全部
"""
python字典取出文件倒数第N行.py


依山居 7:44 2015/12/14
本质还是对数组进行操作
思路是生成行号,倒序历遍文件(因为是倒数行号),生成字典,行号作为字典键。
这样使用时会方便。
"""
with open("1.txt") as f:
    txt=f.readlines()
keys=[r for r in range(1,len(txt)+1)]
result={k:v for k,v in zip(keys,txt[::-1])}
print(result[2])#取出倒数第二行
print(result[3])#取出倒数第三行

代码我也写了。顺手也贴一下。

现在的电脑内存大了。几十M的文件对内存来说不算大文件。

推荐一次性读入处理,处理速度比较快。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天街夜雨
2010-11-17 · TA获得超过641个赞
知道小有建树答主
回答量:759
采纳率:0%
帮助的人:656万
展开全部
# -*- coding:gb2312 -*-
tmp = file("./pn.txt",'r').readlines()
print tmp[99]
那就是了...
把pn.txt 换成你要的文件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式