【转载】python计算文件的行数和读取某一行内容的实现方法

一、计算文件的行数

最简单的办法是把文件读入一个大的列表中,然后统计列表的长度.如果文件的路径是以参数的形式filepath传递的,那么只用一行代码就可以完成我们的需求了:

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

如果是非常大的文件,上面的方法可能很慢,甚至失效.此时,可以使用循环来处理:

count = -1
for count, line in enumerate(open(thefilepath, ‘rU‘)):
    pass
count += 1

另外一种处理大文件比较快的方法是统计文件中换行符的个数‘\n  ‘(或者包含‘\n‘的字串,如在windows系统中):

count = 0
thefile = open(thefilepath, ‘rb‘)
while True:
    buffer = thefile.read(8192*1024)
    if not buffer:
        break
    count += buffer.count(‘\n‘)
thefile.close( )

参数‘rb‘是必须的,否则在windows系统上,上面的代码会非常慢.

linecache是专门支持读取大文件,而且支持行式读取的函数库。 linecache预先把文件读入缓存起来,后面如果你访问该文件的话就不再从硬盘读取

二、读取文件某一行的内容(测试过1G大小的文件,效率还可以)

import linecache

count = linecache.getline(filename,linenum)

三、用linecache读取文件内容(测试过1G大小的文件,效率还可以)

str = linecache.getlines(filename)

str为列表形式,每一行为列表中的一个元素

时间: 2024-10-21 16:15:27

【转载】python计算文件的行数和读取某一行内容的实现方法的相关文章

Linux wc命令用于计算文件的行数/字数

利用wc指令我们可以计算文件的Byte数.字数.或是行数,若不指定文件名称.或是所给予的文件名为"-",则wc指令会从标准输入设备读取数据. 语法: wc [-clw] [--help] [--version] [文件...] 参数: -c或--bytes或--chars 只显示Bytes数. -l或--lines 只显示行数. -w或--words 只显示字数. --help 在线帮助. --version 显示版本信息. 实例: 在默认的情况下,wc将计算指定文件的行数.字数,以及

用python计算文件行数[装载自http://www.centoscn.com/python/2013/0806/1110.html]

一.计算文件的行数 最简单的办法是把文件读入一个大的列表中,然后统计列表的长度.如果文件的路径是以参数的形式filepath传递的,那么只用一行代码就可以完成我们的需求了: count = len(open(filepath,'rU').readlines()) 如果是非常大的文件,上面的方法可能很慢,甚至失效.此时,可以使用循环来处理: count = -1 for count, line in enumerate(open(thefilepath, 'rU')): pass count +=

python 代码统计文件的行数

#!/usr/bin/python #encofing:utf8 # 统计文件的行数 import sys def lineCount(fd): n = 0 for i in fd: n += 1 return n fd = sys.stdin print lineCount(fd)

申报软件著作权时,如何快捷计算源码行数

在我们申请软作专利或著作权时,经常需要提交源码行数.如果每页打开去统计工作量也太大了.还好,偷懒的想法也能激发创造力,我在网上真的找到了一个牛人使用的方法.下面分享给大家. 按CTRL+SHIFT+F (Find in files),勾上支持正则表达式,然后输入搜索内容: ^:b*[^:b#/]+.*$ 以上表达式的统计可做到:#开头和/开头或者空行都不计入代码量.如果需要只统计代码文件的代码量,可以选择查找文件的类型,比如什么*.xml, *.resx-.可以不检查,只查*.cs,*.c,*.

查看大文件的行数(windows 和 Ubuntu)

Windows 在Windows平台上,我们可以使用很多工具来打开文件,查看其行数,最常用的就是MS Office Word.记事本等.在MS-DOS下,我们还可以使用edit模式来打开文件,但其最多能打开65280行数据.这里推荐一个工具notepad++,这个工具能打开并显示更多行的数据,并且自动显示行号. Ubuntu 在Ubuntu平台上,我们可以使用 wc 命令在不打开文件的情况下,来统计文件的信息. 比如: wc -l myfile.txt 统计文件的行数 wc -m myfile.

使用java读取文件夹中文件的行数

使用java统计某文件夹下所有文件的行数 经理突然交代一个任务:要求统计某个文件夹下所有文件的行数.在网上查了一个多小时没有解决.后来心里不爽就决定自己写一个java类用来统计文件的行数,于是花了两个小时将代码写出(可见我的java功底还是挺烂的).虽然有很多有待改进的地方,依然有纪念意义. 本java类的核心是通过BufferedReader类的readLine()方法,间接的统计行数:通过递归遍历文件. 这个类只是写来完成任务的.结果不是很严谨,许多情况并没考虑到:比如判断想读取某一类文件怎

[获取行数]php读取大文件提供性能的方法,PHP的stream_get_line函数读取大文件获取文件的行数的方...

背景: 下面是获取文件的行数的方法: 一个文件如果知道有几行的话,就可以控制获取一定的行数的数据,然后放入数据库.这样不管的读取大文件的性能,还是写入数据库的性能,都能得到很大的提高了. 下面是获取文件的行数的方法 $temp_file = 'error.log'; $fp = fopen($temp_file ,'r') or die("open file failure!"); $total_line = 0; if($fp){     /* 获取文件的一行内容,注意:需要php5

go 获取函数被调用的文件即行数

import "runtime" _, file, line, ok = runtime.Caller(calldepth) 其中calldepth 指的调用的深度,为0时,打印当前调用文件及行数. 为1时,打印上级调用的文件及行数,依次类推.

python程序在命令行执行提示ModuleNotFoundError: No module named 'XXX' 解决方法

原文链接:https://www.cnblogs.com/dreamyu/p/7889959.html 在ide中执行python程序,都已经在默认的项目路径中,所以直接执行是没有问题的.但是在cmd中执行程序,所在路径是python的搜索路径,如果涉及到import引用就会报类似ImportError: No module named xxx这样的错误,解决方法: 在报错的模块中添加: import sys import os curPath = os.path.abspath(os.path