删除跨文件的grep搜索结果



我有一个脚本,它最终应该从文件中grep一段文本并将其删除,然后对目录中的每个文件重复此操作。但是我在下面写的代码不包括delete语句,因为我不知道如何做到这一点。这篇文章让我觉得我应该把我想保留的所有东西都写进一个新文件。我尝试在p = re.compile(ur'(.)(DDDDD..........)')行之后插入del p,这似乎删除了我的一个输入文件。建议?

import sys
import re 
import os

PSGDirectory = "~/TestFolder"
  for path, dirs, files in os.walk(PSGDirectory):
    print path
    print dirs
    print files
  def process (files):
    p = re.compile(ur'(.)(DDDDD..........)')
    return re.search(p, files)
  for root, dirs, files in os.walk(PSGDirectory):
    for filename in files:
        fullpath = os.path.join(root,filename)
        print process (fullpath)

使用re.sub()

来自文档:

import os
import re
def process(file):
    with open(file, 'w') as f:
        text = f.read()
        # Use your regex to grab all matching text:
        # For example, to remove all non-digits from a string:
        filtered = re.sub(r'D', "", text)
        f.write(filtered)
        return filtered
def main():
    PSGDirectory = "~/TestFolder"
    for path, dirs, files in os.walk(PSGDirectory):
        print path
        print dirs
        print files
    for root, dirs, files in os.walk(PSGDirectory):
        for filename in files:
            fullpath = os.path.join(root, filename)
            print process(full path)

最新更新