精华内容
下载资源
问答
  • 一行一行得从文件读数据,显然比较慢;不过很省内存带缓存的文件读取 readlines 速度最快1. 最基本的读文件方法:?# File: readline-example-1.pyfile = open("sample.txt")while 1:line = file.readline...

    一行一行得从文件读数据,显然比较慢;不过很省内存

    带缓存的文件读取 readlines 速度最快

    1. 最基本的读文件方法:

    ?

    # File: readline-example-1.py

    file = open("sample.txt")

    while 1:

    line = file.readline()

    if not line:

    break

    pass # do something

    一行一行得从文件读数据,显然比较慢;不过很省内存。

    在我的机器上读10M的sample.txt文件,每秒大约读32000行

    2. 用fileinput模块

    ?

    # File: readline-example-2.py

    import fileinput

    for line in fileinput.input("sample.txt"):

    pass

    写法简单一些,不过测试以后发现每秒只能读13000行数据,效率比上一种方法慢了两倍多……

    3. 带缓存的文件读取

    ?

    # File: readline-example-3.py

    file = open("sample.txt")

    while 1:

    lines = file.readlines(100000)

    if not lines:

    break

    for line in lines:

    pass # do something

    这个方法真的更好吗?事实证明,用同样的数据测试,它每秒可以读96900行数据!效率是第一种方法的3倍,第二种方法的7倍!

    ————————————————————————————————————————————————————————————

    在Python 2.2以后,我们可以直接对一个file对象使用for循环读每行数据:

    ?

    # File: readline-example-5.py

    file = open("sample.txt")

    for line in file:

    pass # do something

    而在Python 2.1里,你只能用xreadlines迭代器来实现:

    ?

    # File: readline-example-4.py

    file = open("sample.txt")

    for line in file.xreadlines():

    pass # do something

    展开全文
  • python读取文件最后一行两种方式1)常规方法:从前往后依次读取步骤:open打开文件。读取文件,把文件所有行读入内存。遍历所有行,提取指定行的数据。优点:简单,方便缺点:当文件大了以后时间太慢,无法忍受2)...

    python读取文件最后一行两种方式

    1)常规方法:从前往后依次读取

    步骤:open打开文件。

    读取文件,把文件所有行读入内存。

    遍历所有行,提取指定行的数据。

    优点:简单,方便

    缺点:当文件大了以后时间太慢,无法忍受

    2)推荐方法:

    步骤:open打开日志文件。

    移动文件读取指针到文件末尾。

    从后往前移动指针直到合适的位置。

    读取文件,提取指定行的数据。

    优点:时间相对固定,适合处理大文件

    代码实现

    fname = 'test.html'

    with open(fname, 'r', encoding='utf-8') as f: # 打开文件

    lines = f.readlines() # 读取所有行

    first_line = lines[0] # 取第一行

    last_line = lines[-1] # 取最后一行

    print('文件' + fname + '第一行为:'+ first_line)

    print('文件' + fname + '最后一行为:' + last_line)

    with open(fname, 'rb') as f: # 打开文件

    # 在文本文件中,没有使用b模式选项打开的文件,只允许从文件头开始,只能seek(offset,0)

    first_line = f.readline() # 取第一行

    offset = -50 # 设置偏移量

    while True:

    """

    file.seek(off, whence=0):从文件中移动off个操作标记(文件指针),正往结束方向移动,负往开始方向移动。

    如果设定了whence参数,就以whence设定的起始位为准,0代表从头开始,1代表当前位置,2代表文件最末尾位置。

    """

    f.seek(offset, 2) # seek(offset, 2)表示文件指针:从文件末尾(2)开始向前50个字符(-50)

    lines = f.readlines() # 读取文件指针范围内所有行

    if len(lines) >= 2: # 判断是否最后至少有两行,这样保证了最后一行是完整的

    last_line = lines[-1] # 取最后一行

    break

    # 如果off为50时得到的readlines只有一行内容,那么不能保证最后一行是完整的

    # 所以off翻倍重新运行,直到readlines不止一行

    offset *= 2

    print('文件' + fname + '第一行为:' + first_line.decode())

    print('文件' + fname + '最后一行为:' + last_line.decode())

    展开全文
  • Python读取文件中关键字的一行下一行 filename = 'E:/ETL/舟山.txt' # 读取文件 pos = [] Efield = [] # count = len(open(filename,'r',encoding = 'utf-8').readlines()) # print(count) fout = open('E:/ETL/...

    Python读取文件中关键字的一行和下一行

    filename = 'E:/ETL/舟山.txt' # 读取文件
    pos = []
    Efield = []
    # count = len(open(filename,'r',encoding = 'utf-8').readlines())
    # print(count)
    fout = open('E:/ETL/舟山2.txt', 'a', encoding='utf8')#写文件
    
    
    # fo = open(filename, 'r',encoding='utf8')
    with open(filename, 'r',encoding='utf8') as file_to_read:
      while True:
          # for index in range(5):
          #     line = next(fo)
          #     print("第 %d 行 - %s" % (index, line))
        lines = file_to_read.readline() # 整行读取数
    	#关键字
        if ("库表") in lines:
            lines = next(file_to_read)# 读取下一行
            lines.replace("\n", " ")
            print(lines + ',')
            # 写入文件内容
            fout.write(lines + ',')
    		#关键字
        if( "来源")in lines:
            print(lines)
            # 写入文件内容
            fout.write(lines )
    

    如有问题可以给我留言。

    展开全文
  • python读取文件最后一行

    万次阅读 2019-06-21 18:03:07
    处理文件时,一个常见的需求就是读取文件的最后一行。那么这个需求用python怎么实现呢?一个朴素的想法如下: with open('a.log', 'r') as fp: lines = fp.readlines() last_line = lines[-1] 即使不考虑异常处理...

    处理文件时,一个常见的需求就是读取文件的最后一行。那么这个需求用python怎么实现呢?一个朴素的想法如下:

    with open('a.log', 'r') as fp:
        lines = fp.readlines()
        last_line = lines[-1]
    

    即使不考虑异常处理的问题,这个代码也不完美,因为如果文件很大,lines = fp.readlines()会造成很大的时间和空间开销。

    解决的思路是用将文件指针定位到文件尾,然后从文件尾试探出一行的长度,从而读取最后一行。代码如下:

    def __get_last_line(self, filename):
        """
        get last line of a file
        :param filename: file name
        :return: last line or None for empty file
        """
        try:
            filesize = os.path.getsize(filename)
            if filesize == 0:
                return None
            else:
                with open(filename, 'rb') as fp: # to use seek from end, must use mode 'rb'
                    offset = -8                 # initialize offset
                    while -offset < filesize:   # offset cannot exceed file size
                        fp.seek(offset, 2)      # read # offset chars from eof(represent by number '2')
                        lines = fp.readlines()  # read from fp to eof
                        if len(lines) >= 2:     # if contains at least 2 lines
                            return lines[-1]    # then last line is totally included
                        else:
                            offset *= 2         # enlarge offset
                    fp.seek(0)
                    lines = fp.readlines()
                    return lines[-1]
        except FileNotFoundError:
            print(filename + ' not found!')
            return None
    

    其中有几个注意点:

    1. fp.seek(offset[, where])中where=0,1,2分别表示从文件头,当前指针位置,文件尾偏移,缺省值为0,但是如果要指定where=2,文件打开的方式必须是二进制打开,即使用’rb’模式
    2. 设置偏移量时注意不要超过文件总的字节数,否则会报OSError
    3. 注意边界条件的处理,比如文件只有一行的情况

    原文连接:python读取文件最后一行

    展开全文
  • python里面,读取或写入csv文件时,首先要import csv这个库,然后利用这个库提供的方法进行对文件的读写。 1、获取每一行 读取csv文件,用的是csv.reader()这个方法。返回结果是一个_csv.reader的对象,我们可以对...
  • python读取文本某一行内容

    千次阅读 2020-03-19 14:56:52
    时常遇到需要读取文本的指定某一行或者某几行的内容。总结方法有两种。 方法一:从头扫描,跳过不关心的行 import linecache linecache.getline('./data.txt', 5) 读取文件的第5行,实际该文件会整个缓存起来,...
  • python读取、写入txt文本内容

    万次阅读 多人点赞 2019-08-22 21:54:28
    python常用的读取文件函数有三种read()、readline()、readlines() 以读取上述txt为例,看一下三者的区别 read() 次性读全部内容 次性读取文本中全部的内容,以字符串的形式返回结果 with open("test.txt", ...
  • 广告关闭2017年12月,云+社区对外发布...pos = pos - 1 try: f.seek(pos, 2) #从文件末尾开始读 if f.read(1) == n:break except: #到达文件第一行,直接读取,退出 f.seek(0, 0) print f.readline().strip() retur...
  • python读取文件首行和最后一行

    千次阅读 2018-06-24 08:09:00
    python读取文件最后一行两种方式 1)常规方法:从前往后依次读取 步骤:open打开文件。 读取文件,把文件所有行读入内存。 遍历所有行,提取指定行的数据。 优点:简单,方便 缺点:当文件大了以...
  • python每次读取文件一行输出一行

    千次阅读 2019-09-19 13:27:59
    f=open('test.txt','r') forlineinf: pass printi f.close() 转载于:https://my.oschin...
  • python 读取文件的最后一行

    千次阅读 2019-06-25 22:01:59
    with open(fname, 'r', encoding='utf-8') as f: # 打开文件 lines = f.readlines() # 读取所有行 first_line = lines[0] # 取第一行 last_line = lines[-1] # 取最后一行 print('文件' + fname...
  • I have a file called test which has the contents:abcdefgI am using the following python code to read this file line by line and print it out:with open('test.txt') as x:for line in x:print(x.read())The...
  • python读取一个文件夹指定文件类型的所有文件名思路代码
  • python 读取文件最后一行

    千次阅读 2012-02-21 16:58:33
    /usr/bin/env python #-*-coding:utf8-*- #----- william -------- import os,sys,re def readend():  os.chdir('/etc/openvpn/sn10001/etc/')  files = open('server.conf','r')  i = -1
  • # -*- coding: utf-8 -*-file =open('/Users/april_chou/Desktop/WorkSpace/Selenium/seleniumTest/test.txt','r')context = file.read()print('read格式:')print(context)file.close()print()file =open('/Users/...
  • Python读取文件的一行之linecache模块

    千次阅读 2016-11-01 10:59:58
    尝试优化内存,在使用缓存cache读取文件的某一行时,可以使用Python的linecache模块。用法: import linecache linecache.getline(filename,lineno) # filename为文件名 # lineno为要读取的行号 ...
  • python 读取文件跳过第一行

    千次阅读 2017-07-04 10:24:46
    跳过第一行读取数据,使用Python提供的itertools工具 import itertools import islice file = open(…) for line in islice(file, 1, None): …
  • [work] python读取txt文件最后一行

    千次阅读 2019-01-11 11:57:46
    txt文件小 ...输出为:文件第一行和最后一行 ''' fname = 'test.txt' with open(fname, 'r') as f: #打开文件 lines = f.readlines() #读取所有行 first_line = lines[0] #取第一行 last_line = l...
  • python读取txt问题

    千次阅读 2013-10-11 16:32:39
    所写python代码和txt文件编码以utf-8格式打开 ...注意python 读取行时每数据后面会有符'\n',如某行为 ab ,则读取数据为 'ab\n' 当print时与所想得到的数据没有差别,但是当作为参数进行处理时注意
  • python 读取文本每一行的简单实现

    万次阅读 2018-12-07 23:15:55
    file_path = "" # 文件路径 for line in open(file_path): print(line) # 对每一行进行操作即可  
  • python读取Excel文件时默认会把第一行当做列名,所以导致会缺少一行。解决办法如下: 加入header=None
  • 如何用python循环读取下面.txt文件中,用红括号标出来的数据呢?首先,观察数据可知,不同行的第个数据元素不一样,所以考虑直接用正则表达式。再加上,对读和写文件的操作,就了注:我用的是pycharm+python2.7...
  • python读取文件最后一行两种方法

    千次阅读 2018-09-27 13:58:00
    1)常规方法:从前往后依次读取 步骤:open打开文件。... 读取文件,把文件所有读入内存。 遍历所有,提取指定的数据。 优点:简单,方便 缺点:当文件大了以后时间太慢,无法忍受 2)推荐方法:...
  • python向Excel读取一行数据

    千次阅读 2020-09-18 13:01:22
    pandas 1.0之前读取是用的ix,后来改为iloc或者loc,如下: import pandas as pd #df=pd.read_excel('1.xlsx',sheet_...data=df.iloc[0].values#0表示第一行 这里读 print("获取到所有的值:\n{0}".format(data))#.
  • import osallFileNum = 0def printPath(level, path):global allFileNum'''''打印个目录的所有文件夹和文件'''# 所有文件夹,第个字段是次目录的级别dirList = []# 所有文件fileList = []# 返回个列表,其中...
  • 背景Background:我的txt文件里面存放的是搜索词,由于原始的query(搜索词)都是用/或者、来分割词,而我要达到的是每个词语是单独的一行,并且写入txt第一步:按行读取txt文件s = []f = open('querylist.txt','r') ...
  • python之文件读取一行一行

    千次阅读 2016-07-29 13:15:13
    f=file('a.txt') for eachline in f: print eachline

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 205,277
精华内容 82,110
关键字:

python读取下一行

python 订阅