返回顶部
首页 > 资讯 > 后端开发 > 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://lsjlt.com/news/189034.html(转载时请注明来源链接)

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

猜你喜欢
  • 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读取文件末尾N行
    # -*- coding: cp936 -*- import os,sys,re def lastline(): global pos while True: pos = pos - 1 ...
    99+
    2023-01-31
    末尾 文件 python
  • python怎么读取文件行数
    在Python中,可以使用`readlines()`方法来读取文件的行数。具体操作如下: with open('file.txt',...
    99+
    2023-10-27
    python
  • 在node.js中一次读取一行文件?
    问题内容 我正在尝试一次一行读取一个大文件。我在 Quora 上发现了一个涉及该主题的问题,但我缺少一些联系来使整个事情融为一体。 var Lazy=require("lazy");...
    99+
    2024-02-06
  • 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
  • PHP从文件指针中读取一行
    这篇文章将为大家详细讲解有关PHP从文件指针中读取一行,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP 从文件指针中读取一行 引言 从文件指针中读取一行对于处理文本文件至关重要。PHP提供了多种用于此...
    99+
    2024-04-02
  • perl怎么读取文件的每一行内容
    在Perl中,可以使用<FILEHANDLE>的方式来读取文件的每一行内容。具体步骤如下: 打开文件并将文件句柄赋值给...
    99+
    2024-04-02
  • 怎么在python中按行读取文件
    这期内容当中小编将会给大家带来有关怎么在python中按行读取文件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、read 方法默认会把文件的 所有内容一次性读取到内存如果文件太大,对内存的占用会非常严...
    99+
    2023-06-15
  • python怎么读取csv文件指定行
    要读取 CSV 文件的指定行,可以使用 Python 的 csv 模块结合文件读写操作。下面是一个示例代码:```pythonimp...
    99+
    2023-09-15
    python
  • python怎么读取文件多行内容
    Python可以使用open()函数来打开文件,并使用readlines()方法读取文件的多行内容。 下面是一个示例: # 打开文件...
    99+
    2024-02-29
    python
  • Python 删除文件每一行的行号思路解读
    目录1. what2. 思路3. 代码1. what 这个行号真的很烦噶 试着写一个py去掉 2. 思路 def second_of_str分割,取分隔符右边的元素返回一...
    99+
    2024-04-02
  • shell怎么循环读取文件每一行
    在shell脚本中,可以使用`while`循环结合`read`命令来逐行读取文件内容。以下是一个示例:```shell#!/bin/...
    99+
    2023-08-14
    shell
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作