读取文本最后一行:

f = open('test11.txt', 'rb')

for i in f:
offset = -16
while True:
f.seek(offset, 2)
data = f.readlines()
if len(data) > 1:
print("文件的最后一行是:%s"%(data[-1].decode('gbk')))
break
offset *= 2

优点:

使用for i in f是使用一行读取一行,不会消耗太多的内存,如果使用readlines就会一次性将所有的内容全部读取出来放在内存当中,会占用较多的内存。

删除文本指定行:

删除文本指定行也是用的for i in i,找到指定行的关键字,将不包括关键字的其他行放在生成器中。

将生成器包含的内容重新写入文件,当然这种效率不是很高(暂时还没想到更好的方法)

lines = (i for i in open('test11.txt', 'r') if '' not in i )
f = open('test33.txt', 'w', encoding="utf-8")
f.writelines(lines)
f.close()

Python循环文件推荐的方式,可用于读取文本最后一行或删除指定行等的更多相关文章

  1. Python 读写文件的正确方式

    当你用 Python 写程序时,不论是简单的脚本,还是复杂的大型项目,其中最常见的操作就是读写文件.不管是简单的文本文件.繁杂的日志文件,还是分析图片等媒体文件中的字节数据,都需要用到 Python ...

  2. 11. python读写文件的多种方式

    一.txt文件 with open('users.txt','r') as user_file: data = user_file.readlines() users = [] for line in ...

  3. 关于python读写文件的r+方式的坑

    写脚本的时候需要将文件中的一行修改,我的修改逻辑是,用r+方式打开文件,然后将原文件数据读入一个数组,修改数组的对应元素,在seek(0),然后将数组write进文件 结果: 文件文件末尾总是多出一行 ...

  4. Android在API推荐的方式来实现SQLite数据库的增长、删除、变化、检查操作

    package com.examp.use_SQLite.dao; import java.util.ArrayList; import java.util.List; import android. ...

  5. 用Python复制文件的9个方法

    Python 中有许多"开盖即食"的模块(比如 os,subprocess 和 shutil)以支持文件 I/O 操作.在这篇文章中,你将会看到一些用 Python 实现文件复制的 ...

  6. 用Python复制文件的9个方法(转)

    转自:https://zhuanlan.zhihu.com/p/35725217 用Python复制文件的9个方法 Python 中有许多“开盖即食”的模块(比如 os,subprocess 和 sh ...

  7. Python批量删除指定目录下的指定类型的文件

    Python作为一种脚本语言.其很适合文件级的各种操作.以下的代码能够批量删除指定目录下的所有特定类型(CSV类型)的文件. import sys, csv , operator import os ...

  8. python系列——文件操作

    打开和关闭 示例:python系列——文件操作的代码 打开模式 读取 写入

  9. python中逐行读取文件的最佳方式_Drupal_新浪博客

    python中逐行读取文件的最佳方式_Drupal_新浪博客 python中逐行读取文件的最佳方式    (2010-08-18 15:59:28)    转载▼    标签:    python   ...

随机推荐

  1. mysql windows 5.7 安装版下载地址

    https://dev.mysql.com/downloads/windows/installer/5.7.html

  2. 利用Go2Shell 实现 Mac Finder 直接shell端打开当前文件夹

    Finder 窗口 ,点击下图所示的按钮(红色框内),即可打开Shell Terminal. 打开后,如图 用法 安装go2shell后,打开finder的application文件夹,找到go2sh ...

  3. iOS架构模式浅析

    这是以前旧博客在13年规划写的一个系列,写了一部分内容,还没有完成.现在重新整理编写.计划从基础知识六大设计原则.设计模式中类的关系开始,然后会对iOS开发中的常用架构模式进行介绍,最后对GoF的23 ...

  4. 机器学习之KNN算法

    1 KNN算法 1.1 KNN算法简介 KNN(K-Nearest Neighbor)工作原理:存在一个样本数据集合,也称为训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一数据与所属 ...

  5. maya2012卸载/安装失败/如何彻底卸载清除干净maya2012注册表和文件的方法

    maya2012提示安装未完成,某些产品无法安装该怎样解决呢?一些朋友在win7或者win10系统下安装maya2012失败提示maya2012安装未完成,某些产品无法安装,也有时候想重新安装maya ...

  6. WebRTC 学习之 Conference 实现混音混屏

    混音 混音的意义就是将多个音频流混成一路音频,在Conference 的实现中有分为终端实现和服务器实现. 1. 终端混音实现: 终端接受到多路(一般是多个用户)的音频流之后,在终端本地将多路音频流混 ...

  7. Shell-7--环境变量配置文件

    环境变量配置文件修改后需要重启才生效,如果想不重启生效,需要 source 配置文件 . 配置文件

  8. MySQL:索引

    索引的目的在于提高查询效率,它的作用就相当于一本书的目录: 1. 常见的索引模型 1.1 哈希表 优点:适用于等值查询的场景: 缺点:范围查询效率较低: 1.2 有序数组 优点:范围查询和等值查询效率 ...

  9. Maven - 实例-1-手工创建Maven项目

    1- 根据包结构创建maven项目目录 TestMaven - src - src/main/java/anliven/testmaven01/HelloMaven.java - src/test/j ...

  10. 基数排序的理解和实现(Java)

    基数排序是桶排序的扩展算法,其思想是:将整数按位数切割成不同的数字,然后按每个位数分别比较排序. 算法流程: 将所有待比较数值统一为同样的数位长度,数位较短的数前面补零. 从最低位开始,依次进行一次排 ...