python-删除文件的特定行

有一次需要删除一些html文件中的统计链接,
通过用遍历文本的每行,然后正则查找网址,使用下面的函数删除行。

删除文本文件的特定行

def removeLine(filename, lineno):
    fro = open(filename, "r",encoding=‘UTF-8‘)

    current_line = 0
    while current_line < lineno:
        fro.readline()
        current_line += 1

    seekpoint = fro.tell()
    frw = open(filename, "r+")
    frw.seek(seekpoint, 0)

    # read the line we want to discard
    fro.readline()  # 读入一行进内存 ,同时 文件指针下移实现删除

    # now move the rest of the lines in the file
    # one line back
    chars = fro.readline()
    while chars:
        frw.writelines(chars)
        chars = fro.readline()

    fro.close()
    frw.truncate()
    frw.close()

原文地址:http://blog.51cto.com/13723657/2108743

时间: 2024-10-16 15:13:31

python-删除文件的特定行的相关文章

python 删除文件夹

最近看到好几个小伙伴发了图片的download脚本,昨天复制了一个的python片段,手痒执行了一下,在home目录顿时出现了大量的新文件夹,类似这种效果: ls -t OL xx居家生活照xx挤挤还是有的xx私拍 xx 美臀xx 翘臀xx 邻家女孩xx一叶遮xx秀 xxluoti xx珠帘玉璧 这可是home目录,不可能这样子玩,需要删掉这些"自动生成"的文件夹.顺便学习一下python的文件和文件夹操作. 先按时间排序一下 ,手动维护一下这个ls.txt文档, 删掉里面的原有文件,

python删除文件

import os 删除文件: os.remove() 删除空目录: os.rmdir() 递归删除空目录: os.removedirs() 递归删除目录和文件(类似DOS命令DeleteTree): 方法1:自力更生,艰苦创业 # Delete everything reachable from the directory named in 'top', # assuming there are no symbolic links. # CAUTION: This is dangerous!

python删除文件或者目录

import os #os.walk删除文件和目录def rmDirAndFile(path): #先把各个目录的文件删除完 for root, dirs, files in os.walk(path): for file in files: filepath = os.path.join(root, file) try: os.remove(filepath) print("删除文件%s成功" % file) except: print("删除文件%s异常" %

Python 删除文件特定字符的行

import re p=re.compile("gmail|aol|yahoo") f = open("test.txt",'r+') lines = [line for line in f.readlines() if p.search(line) is None] f.seek(0) f.truncate(0) f.writelines(lines) f.close()

截取与分析日志文件的特定行数的操作

在进行操作系统和数据库系统管理时经常会遇到在日志文件中查找某个字符或者按照时间截取某个时间段的日志进行分析. 今天早上就遇到一个MySQL数据库上的问题mysql数据库在0-3点的时候数据库会话连接tpscpu和iowait等都比平时大了许多. 为了定位这个时间段内到底发生了那些慢查询消耗了资源就需要在slow.log慢查询日志进行查询截取和分析. 在处理过程中对几种常用的日志截取方法进行了汇总和测试 截取日志段的的方法汇总与测试 方式一 确定时间段的行号使用head和tail命令截取 搜索时间

Python删除文件及进行文件夹压缩

示例效果: 项目编译发布后,删除部分配置文件,然后做成发布文件的压缩包. # -*- coding: UTF-8 -*- import os,sys import zipfile import datetime,time def getToday_yyyyMMdd(): #return time.strftime("%Y%m%d %H:%M:%S",time.localtime(time.time())) return time.strftime("%Y%m%d",

python 读取文件指定某行

#encoding=utf-8   #从文件中读取某一行 linecache.checkcache可以刷新cache ,linecache可以缓存某一行的信息            import linecache    line = linecache.getline(r'1.txt', 2)   print line #如果文件比较大 使用下面 def getline(thefilepath,line_num):     if line_num < 1 :return ''     for 

轻松python之文件专题-关于行的操作

1.计算文本行数 最常用的就是readlines >>> handler=open('input_file.txt') >>> lines=handler.readlines () >>> lenOfFile=len(lines) 但是如果是一个超过100m的文本文件,上面的方法基本确定是会很慢,甚至运行不了 因此,我们需要其他的方法 1)使用循环计数,引入enumerate方法 >>> count=-1 >>> f

python脚本文件删除

昨天有需求需要用python脚本删除一个目录下的文件.遇到了点麻烦. 使用的是shutil.rmtree(dir)函数,这个函数可以删除有内容的目录,而shutil.rmdir(dir)只能删除空目录. 1.一删除就报错,最后怀疑是账户权限问题,更改了账户的权限以后,可以删除部分文件了,但还是有文件不可以删除 2.在网上查到可能是因为文件属性的问题,果真删不掉的文件都是只读的.如果想删除这些文件需要先修改其属性. shutil模块是没有类似函数的,于是自己仿照shutil.rmtree函数写了一