轻松python之文件专题-关于行的操作

1.计算文本行数

最常用的就是readlines

>>> handler=open('input_file.txt')
>>> lines=handler.readlines ()
>>> lenOfFile=len(lines)

但是如果是一个超过100m的文本文件,上面的方法基本确定是会很慢,甚至运行不了

因此,我们需要其他的方法

1)使用循环计数,引入enumerate方法

>>> count=-1
>>> for index,line in enumerate(open ('input_file.txt' , 'rU' )):
	count+=1

>>> count
5
>>> 

注意:count是从-1开始

2)如果再考虑到性能的问题,我们使用其他的方法

因为文本文件一般已/n为换行符,所以,我们可以载入一部分文本,计算里面的换行符是多少

>>> import codecs
>>> count = 0
>>> the_file = codecs.open('input_file.txt', 'rb', 'utf-8')
>>> try:
	while (True):
		    buffer = the_file.read(8192*1024)
		    if not buffer:break
		    count += buffer.count('\n')
finally:the_file.close()

>>> count
5
>>> 

2.读取某一行(以小文本为例)

我们一般会想到循环,然后到某一行停下来,打印

>>> handler=open('input_file.txt')
>>> lines=handler.readlines ()
>>> lenOfFile=len(lines)
>>> for x in range(lenOfFile):
	if x==3:print(lines[x])

dff

>>> 

上面的例子我们可以封装成一个方法:

>>> def readTheXLineOfFile(path,lineNum):
	handler=open(path)
	try:
		lines=handler.readlines()
		for x in range(len(lines)):
			if x==lineNum:
				print(lines[lineNum])
	finally:handler.close ()

>>> readTheXLineOfFile('input_file.txt',3)
dff

>>> 

但是我们有更加快捷的方法:

>>> import linecache
>>> theLine=linecache.getline
>>> theLine=linecache.getline ('input_file.txt',3)
>>> theLine
'bd\n'
>>> theLine=linecache.getline ('input_file.txt',4)
>>> theLine
'dff\n'
>>> 

我们引入linecache,通过getline的方法得到某一行,但是需要注意:它的行数是从0开始的

就说到这里,谢谢大家

------------------------------------------------------------------

点击跳转零基础学python-目录

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-06 09:50:12

轻松python之文件专题-关于行的操作的相关文章

轻松python之文件专题-关于zip文件的一些操作

场景: zip文件的操作,包括增删改查 1.zip的创建,并在zip包里面创建一个文件 >>> import zipfile >>> handler=open('temp_zip.zip','w') >>> handler.close () >>> z=zipfile.ZipFile ('c:/Python34/temp_zip.zip','w') >>> z.writestr('hello.py','def f()

python 读取文件指定某行

#encoding=utf-8   #从文件中读取某一行 linecache.checkcache可以刷新cache ,linecache可以缓存某一行的信息            import linecache    line = linecache.getline(r'1.txt', 2)   print line #如果文件比较大 使用下面 def getline(thefilepath,line_num):     if line_num < 1 :return ''     for 

python之文件和素材

11.1 打开文件 open函数 open(name[,mode[,buffering]]) >>>f = open(r'C:\text\somefile.txt') 11.1.1 文件模式 open函数中模式参数的常用值 'r' 读模式 'w' 写模式 'a' 追加模式 'b' 二进制模式 '+' 读/写模式 通过在模式参数中使用U参数能够在打开文件时使用通用的换行符支持模式,在这种模式下,所有的换行符/字符串(\r\n,\r或者是\n)都被转换成\n,而不用考虑运行的平台. 11.1

python声明文件编码,必须在文件的第一行或第二行

#coding=utf-8和# -*- coding: utf-8 -*-的作用 – 指定文件编码类型 注意的两点: 1.声明必须在文件的第一行或第二行: 2.coding后面必须紧跟冒号或等号,#coding : utf-8是错的. 例: 声明编码前有字符串 1 '''testing user longin''' 2 #coding:utf-8 3 4 print u'''登录相关的测试''' 或 声明编码位于第三行 1 #'test' 2 3 #coding:utf-8 4 5 print

python读取文件的前几行

文件内容rolling.txt: There's a fire starting in my heart 我怒火中烧 Reaching a fever pitch and it's bringing me out the dark 熊熊烈焰带我走出黑暗 Finally, I can see you crystal clear 最终 我将你看得一清二楚 Go ahead and sell me out and I'll lay your ship bare 去吧 出卖我 我会让你一无全部 See

python之从文件中按行读取数据

#!/usr/bin/env python3 # -*- coding: utf-8 -*- __author__ = 'jiangwenwen' # 从文件中按行读取数据 file = open("D:\坚果云\我的坚果云\\2019年计划.txt") while 1: lines = file.readlines(100000) if not lines: break for line in lines: print(line) 原文地址:https://www.cnblogs.c

Python学习-文件操作

打开和关闭文件: Python 提供了必要的函数和方法进行默认情况下的文件基本操作. open 函数 你必须先用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写. 语法: file object = open(file_name [, access_mode][, buffering]) 各个参数的细节如下: ①file_name:file_name变量是一个包含了你要访问的文件名称的字符串值. ②access_mode:access_mode

Python读写文件

Python读写文件1.open使用open打开文件后一定要记得调用文件对象的close()方法.比如可以用try/finally语句来确保最后能关闭文件. file_object = open('thefile.txt')try:     all_the_text = file_object.read( )finally:     file_object.close( ) 注:不能把open语句放在try块里,因为当打开文件出现异常时,文件对象file_object无法执行close()方法.

Python对文件的操作(转)

一.文件对象 我理解的文件对象就是一个接口,通过这个接口对文件进行相关操作. <Python 核心编程>上说的很晦涩,这里没有深刻理解到,希望有人能解释给我听. >>> f = open('demo.txt','r') >>> f <open file 'demo.txt', mode 'r' at 0x00CCCEC0> >>> type(f) <type 'file'> 二.相关函数 [1].内建函数:open(