广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python读取文件的最后一行(非空行)
  • 143
分享到

Python读取文件的最后一行(非空行)

空行文件Python 2023-01-31 05:01:24 143人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

利用python读取文件(针对大文件和小文件两种)的首行(第一行)和末行(最后一行)。脚本借鉴了前人的两种处理思路(在下面的脚本中有注释说明引用出处),并修正了原先两种处理方法中如果文件末尾含有多个空行而返回空行的问题。脚本内容可以从Git

利用python读取文件(针对大文件和小文件两种)的首行(第一行)和末行(最后一行)。脚本借鉴了前人的两种处理思路(在下面的脚本中有注释说明引用出处),并修正了原先两种处理方法中如果文件末尾含有多个空行而返回空行的问题。

脚本内容可以从GitHub上获取:

https://github.com/DingGuodong/linuxBashshellScriptForOps/blob/master/functions/file/getFileLastLine.py

脚本内容如下:

#!/usr/bin/Python
# encoding: utf-8
# -*- coding: utf8 -*-
"""
Created by PyCharm.
File:               LinuxBashShellScriptForOps:getFileLastLine.py
User:               Guodong
Create Date:        2016/9/1
Create Time:        11:05
 """
import os


# Refer: Http://www.pythonclub.org/python-files/last-line
def get_last_line(inputfile):
    filesize = os.path.getsize(inputfile)
    blocksize = 1024
    dat_file = open(inputfile, 'rb')
    last_line = ""
    if filesize > blocksize:
        maxseekpoint = (filesize // blocksize)
        dat_file.seek((maxseekpoint - 1) * blocksize)
    elif filesize:
        # maxseekpoint = blocksize % filesize
        dat_file.seek(0, 0)
    lines = dat_file.readlines()
    if lines:
        last_line = lines[-1].strip()
    # print "last line : ", last_line
    dat_file.close()
    return last_line


# Refer: http://code.activestate.com/recipes/578095/
def print_first_last_line(inputfile):
    filesize = os.path.getsize(inputfile)
    blocksize = 1024
    dat_file = open(inputfile, 'rb')
    headers = dat_file.readline().strip()
    if filesize > blocksize:
        maxseekpoint = (filesize // blocksize)
        dat_file.seek(maxseekpoint * blocksize)
    elif filesize:
        maxseekpoint = blocksize % filesize
        dat_file.seek(maxseekpoint)
    lines = dat_file.readlines()
    if lines:
        last_line = lines[-1].strip()
    # print "first line : ", headers
    # print "last line : ", last_line
    return headers, last_line


# My Implementation
def get_file_last_line(inputfile):
    filesize = os.path.getsize(inputfile)
    blocksize = 1024
    with open(inputfile, 'rb') as f:
        last_line = ""
        if filesize > blocksize:
            maxseekpoint = (filesize // blocksize)
            f.seek((maxseekpoint - 1) * blocksize)
        elif filesize:
            f.seek(0, 0)
        lines = f.readlines()
        if lines:
            lineno = 1
            while last_line == "":
                last_line = lines[-lineno].strip()
                lineno += 1
        return last_line

# Test purpose
# print get_last_line(os.path.abspath(__file__))
# print print_first_last_line(os.path.abspath(__file__))
# print get_file_last_line(os.path.abspath(__file__))

--end--

--结束END--

本文标题: Python读取文件的最后一行(非空行)

本文链接: https://www.lsjlt.com/news/189034.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python读取文件的最后一行(非空行)
    利用Python读取文件(针对大文件和小文件两种)的首行(第一行)和末行(最后一行)。脚本借鉴了前人的两种处理思路(在下面的脚本中有注释说明引用出处),并修正了原先两种处理方法中如果文件末尾含有多个空行而返回空行的问题。脚本内容可以从Git...
    99+
    2023-01-31
    空行 文件 Python
  • 怎么用vbs读取文本文件的最后一行
    本篇内容主要讲解“怎么用vbs读取文本文件的最后一行”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用vbs读取文本文件的最后一行”吧!复制代码 代码如下:Const ForRead...
    99+
    2023-06-08
  • Python实现读取文件最后n行的方法
    本文实例讲述了Python实现读取文件最后n行的方法。分享给大家供大家参考,具体如下: # -*- coding:utf8-*- import os import time import datetim...
    99+
    2022-06-04
    文件 方法 Python
  • C语言怎么对CSV文件从最后往前一行一行读取
    这篇“C语言怎么对CSV文件从最后往前一行一行读取”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C语言怎么对CSV文件从最后...
    99+
    2023-06-08
  • java如何获取文件最后一行
    可以使用 `java.io.RandomAccessFile` 类来实现获取文件的最后一行。具体步骤如下:1. 创建一个 `Rand...
    99+
    2023-08-17
    java
  • java 逐行读取文件(读取文件每一行、按行读取文件)附带示例代码
    BufferedReader 最快的读取每一行 @Test public void bufferReaderTest() { try (BufferedReader buffere...
    99+
    2023-09-11
    java IO
  • Python解决读取文件出现空行的问题
    使用python读取文本时,发现输出时,会有空行,经百度找到解决方案 文本1内容如下:1 2 3 4 5 6 67python内容如下:#!/usr/bin/env python # _*_coding:utf-8_*_ file = op...
    99+
    2023-01-31
    空行 文件 Python
  • php读取文件最后几行数据的代码是什么
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑php读取文件最后几行数据实现思想:借助file()函数将整个文件数据存入数组中,每一行数据对应一个数组元素借助array_slice()函数获取数组中后几个元素即可。...
    99+
    2018-11-25
    php 读取文件
  • python怎么读取文件行数
    在Python中,可以使用`readlines()`方法来读取文件的行数。具体操作如下: with open('file.txt',...
    99+
    2023-10-27
    python
  • python读取文件末尾N行
    # -*- coding: cp936 -*- import os,sys,re def lastline(): global pos while True: pos = pos - 1 ...
    99+
    2023-01-31
    末尾 文件 python
  • Python按行读取文件的实现方法【小文件和大文件读取】
    本文实例讲述了Python按行读取文件的实现方法。分享给大家供大家参考,具体如下: 小文件: #coding=utf-8 #author: walker #date: 2013-12-30 #funct...
    99+
    2022-06-04
    文件 大文件 方法
  • perl如何读取csv文件中的一行
    在Perl中,可以使用Text::CSV模块来读取CSV文件。下面是一个示例代码,演示了如何读取CSV文件中的一行:```perlu...
    99+
    2023-10-07
    perl
  • python读取文件后诡异的\ufeff
    1.python环境    python:win32 3.6.3版本    运行环境介绍:在python读取txt文档的时候在首行会出现诡异的\ufeff,对比字符串就会对比失败2.调试代码    不多说上代码,要兑取的txt文档内容如下...
    99+
    2023-01-31
    诡异 文件 python
  • shell怎么循环读取文件每一行
    在shell脚本中,可以使用`while`循环结合`read`命令来逐行读取文件内容。以下是一个示例:```shell#!/bin/...
    99+
    2023-08-14
    shell
  • python怎么读取csv文件指定行
    要读取 CSV 文件的指定行,可以使用 Python 的 csv 模块结合文件读写操作。下面是一个示例代码:```pythonimp...
    99+
    2023-09-15
    python
  • 怎么在python中按行读取文件
    这期内容当中小编将会给大家带来有关怎么在python中按行读取文件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、read 方法默认会把文件的 所有内容一次性读取到内存如果文件太大,对内存的占用会非常严...
    99+
    2023-06-15
  • Python如何实现逐行读取文本文件
    目录Python 中的 open() 函数是什么文件名和正确路径open() 中的可选模式参数Python 中 open() 函数的其他参数Python 中的 read() 方法Py...
    99+
    2022-11-12
  • Python怎么实现逐行读取文本文件
    这篇文章主要讲解了“Python怎么实现逐行读取文本文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python怎么实现逐行读取文本文件”吧!在Python 中有几种方法可以读取文本文件。...
    99+
    2023-06-22
  • Python 删除文件每一行的行号思路解读
    目录1. what2. 思路3. 代码1. what 这个行号真的很烦噶 试着写一个py去掉 2. 思路 def second_of_str分割,取分隔符右边的元素返回一...
    99+
    2022-11-12
  • 关于Python中读取写入文件并进行文件
    一、提前知识点 在python中是同样和其他语言一样可以进行文件的读取写入操作,值得注意的是,Python中打开文件读取的方式有几种,分别是以下几种: 1 f = open('username.txt') 2 first_line ...
    99+
    2023-01-30
    文件 Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作