python3 讀取檔案的最後一行 非空行

2021-10-06 17:11:52 字數 2063 閱讀 7399

利用python讀取檔案(針對大檔案和小檔案兩種)的首行(第一行)和末行(最後一行)。指令碼借鑑了前人的兩種處理思路(在下面的指令碼中有注釋說明引用出處),並修正了原先兩種處理方法中如果檔案末尾含有多個空行而返回空行的問題。

指令碼內容可以從github上獲取:

指令碼內容如下:

#!/usr/bin/python

# encoding: utf-8

# -*- coding: utf8 -*-

import os

# refer:

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:

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

python 3讀取檔案 Python3 檔案讀寫

python open 方法用於開啟乙個檔案,並返回檔案物件,在對檔案進行處理過程都需要使用到這個函式 1.讀取檔案 with open test json dumps.txt mode r encoding utf 8 as f seek 移動游標至指定位置 f.seek 0 read 讀取整個檔...

python3 讀取txt文字最後一行

首先要理解txt文字都是實際由位元組組成的,比如對於乙個utf 8無bom編碼方式儲存的txt檔案,如果檔案內容為空,那麼該txt檔案大小為0位元組,乙個ascii字元佔乙個位元組,乙個中文字元佔3個位元組。1q 付 比如utf 8無bom編碼方式儲存的txt檔案,文字內容如上,那麼該檔案的大小則為...

Python3讀取HTML檔案

在學習 designing machine learning systems with python 中文名 機器學習系統設計 python語言實現 一書中,在第三章第二節第五小節 p68 讀取html文件資料的 中。我發現有些不太懂,就把學習過程記錄下來。首先,如果你在python3.6環境中照搬...