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程序设计有所帮助。

相关文章

python并发编程之多进程、多线程、异步和协程详解

最近学习python并发,于是对多进程、多线程、异步和协程做了个总结。 一、多线程 多线程就是允许一个进程内存在多个控制权,以便让多个函数同时处于激活状态,从而让多个函数的操作同时运行...

selenium+python自动化测试之环境搭建

selenium+python自动化测试之环境搭建

最近由于公司有一个向谷歌网站上传文件的需求,需要进行web的自动化测试,选择了selenium这个自动化测试框架,以前没有接触过这门技术,所以研究了一下,使用python来实现自动化脚本...

pandas DataFrame实现几列数据合并成为新的一列方法

pandas DataFrame实现几列数据合并成为新的一列方法

问题描述 我有一个用于模型训练的DataFrame如下图所示: 其中的country、province、city、county四列其实是位置信息的不同层级,应该合成一列用于模型训练 方...

python list排序的两种方法及实例讲解

对List进行排序,Python提供了两个方法 方法1.用List的内建函数list.sort进行排序 list.sort(func=None, key=None, reverse=Fa...

Python中判断输入是否为数字的实现代码

在接收raw_input方法后,判断接收到的字符串是否为数字 例如: str = raw_input("please input the number:") if str.isdig...