Python实现删除文件中含“指定内容”的行示例

yipeiwu_com6年前Python基础

本文实例讲述了Python实现删除文件中含指定内容的行。分享给大家供大家参考,具体如下:

#!/bin/env python
import shutil, sys, os
darray = [
  "Entering directory",
  "In function ",
  "Leaving directory",
  "__NR_SYSCALL_BASE",
  "arm-hisiv100-linux-ar ",
  "arm-hisiv100-linux-gcc ",
  "but argument is of type",
  "dereferencing type-punned pointer will break strict-aliasing rules",
  "differ in signedness",
  "does break strict-aliasing rules",
  "embedded '\\0' in format",
  "excess elements in array initializer",
  "implicit declaration of",
  "make -C ",
  " rm -f",
  "this is the location of the previous definition",
  "warning: multi-line comment"
]
def isInArray (array, line):
  for item in array:
    if item in line:
      return True
  return False
if __name__ == '__main__':
  argv = sys.argv
  argc = len(argv)
  if argc < 2:
    print "Usage: %s <file>" %(os.path.basename(argv[0]))
    exit()
  fname = argv[1]
  fresult = fname + ".result"
  with open(fname, 'r') as f:
    with open(fresult, 'w') as g:
      for line in f.readlines():
        if not isInArray(darray, line):
          g.write(line)

另外还可参考:bash删除文件中含"指定内容"的行

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python文件与目录操作技巧汇总》、《Python文本文件操作技巧汇总》、《Python URL操作技巧总结》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

Linux下Python安装完成后使用pip命令的详细教程

Linux下Python安装完成后使用pip命令的详细教程

一、很多读者Python安装完成之后,想要下载相关的包,例如:numpy、pandas等Python中这些基础的包,但是,发现pip根本用不了,主要表现在一下几种情况: 二、出现这种情...

Python机器学习算法之k均值聚类(k-means)

Python机器学习算法之k均值聚类(k-means)

一开始的目的是学习十大挖掘算法(机器学习算法),并用编码实现一遍,但越往后学习,越往后实现编码,越发现自己的编码水平低下,学习能力低。这一个k-means算法用Python实现竟用了三天...

Python标准库之collections包的使用教程

前言 Python为我们提供了4种基本的数据结构:list, tuple, dict, set,但是在处理数据量较大的情形的时候,这4种数据结构就明显过于单一了,比如list作为数组在某...

python自动循环定时开关机(非重启)测试

做手机整机测试的,肯定有开关机的需求,关机,几分钟后再开机(一直循环操作测试,就是不能重启);这个需求在关机后就没有办法开机了,任何脚本命令都不行,除非做APP;重启功能的缺点是关机后就...

python数组循环处理方法

简介 本文主要介绍python数组循环语法。主要方式有元素遍历,索引遍历,enumerate, zip, list内部等。 普通循环 list1 = ['item1', 'item2...