仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 387|回复: 8
打印 上一主题 下一主题

[CentOS(社区)] 给大家带来python盘算文件的行数和读取某一行内容的完成办法

[复制链接]
深爱那片海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 21:05:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
小知识:CentOS出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的RedHatEnterpriseLinux使用。
1、盘算文件的行数
最简略的方法是把文件读入一个年夜的列表中,然后统计列表的长度.假如文件的路径是以参数的情势filepath传递的,那末只用一行代码就能够完成我们的需求了:

count=len(open(filepath,rU).readlines())

假如长短常年夜的文件,下面的办法能够很慢,乃至生效.此时,可使用轮回来处置:

count=-1
forcount,lineinenumerate(open(thefilepath,rU)):
pass
count+=1

别的一种处置年夜文件比拟快的办法是统计文件中换行符的个数
(或许包括
的字串,如在windows体系中):

count=0
thefile=open(thefilepath,rb)
whileTrue:
buffer=thefile.read(8192*1024)
ifnotbuffer:
break
count+=buffer.count(
)

thefile.close()

参数rb是必需的,不然在windows体系上,下面的代码会异常慢.

linecache是专门支撑读取年夜文件,并且支撑行式读取的函数库。linecache事后把文件读入缓存起来,前面假如你拜访该文件的话就不再从硬盘读取
2、读取文件某一行的内容(测试过1G巨细的文件,效力还可以)
importlinecache
count=linecache.getline(filename,linenum)


3、用linecache读取文件内容(测试过1G巨细的文件,效力还可以)
str=linecache.getlines(filename)
str为列表情势,每行动列表中的一个元素
小知识:CentOS已正式加入红帽公司。从事互联网技术的同学,CentOS应该是值得你深入了解学习研究的。
老尸 该用户已被删除
沙发
发表于 2015-1-16 23:46:00 | 只看该作者

给大家带来python盘算文件的行数和读取某一行内容的完成办法

了解Linux的网络安全,系统的安全,用户的安全等。安全对于每位用户,管理员来说是非常重要的。
简单生活 该用户已被删除
板凳
发表于 2015-1-24 15:40:42 | 只看该作者
写学习日记,这是学习历程的见证,同时我坚持认为是增强学习信念的法宝。
愤怒的大鸟 该用户已被删除
地板
发表于 2015-2-2 10:27:33 | 只看该作者
Linux的成功就在于用最少的资源最短的时间实现了所有功能,这也是符合人类进化的,相信以后节能问题会日益突出。
小魔女 该用户已被删除
5#
发表于 2015-2-7 19:01:22 | 只看该作者
另外Linux上也有很多的应用软件,安装运行了这些软件后,你就可以在Linux上编辑文档、图?片,玩游戏、上网、播放多媒体文件等。
莫相离 该用户已被删除
6#
发表于 2015-2-23 10:14:07 | 只看该作者
得到到草率的回答或者根本得不到任何Linux答案。越表现出在寻求帮助前为解决问题付出的努力,你越能得到实质性的帮助。
深爱那片海 该用户已被删除
7#
 楼主| 发表于 2015-3-7 09:59:15 | 只看该作者
一定要养成在命令行下工作的习惯,要知道X-window只是运行在命令行模式下的一个应用程序。在命令行下学习虽然一开始进度较慢。
兰色精灵 该用户已被删除
8#
发表于 2015-3-15 01:59:54 | 只看该作者
工具书对于学习者而言是相当重要的。一本错误观念的工具书却会让新手整个误入歧途。目前国内关于Linux的书籍有很多不过精品的不多。
变相怪杰 该用户已被删除
9#
发表于 2015-3-21 20:02:32 | 只看该作者
其中不乏很多IT精英的心血。我们学透以后更可以做成自己的OS!?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 10:40

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表