根据另一个文件/词典中的关键字过滤文件中的文本

时间:2015-02-07 05:28:21

标签: python

我正在尝试使用.exe提取BinText个文件的内容。

结果将包含字符串列表,我想通过删除我在另一个配置文件中定义的所有Windows API命令(即:GetProcess)进一步处理它,然后将其输出到另一个文件。 / p>

例如,如果文件包含如下字符串:

  • GetProcess
  • 12345
  • Hello World
  • KERNEL32.DLL
  • 的LoadLibrary

如果我在配置文件中定义了它,它将删除GetProcessKernel32.dllLoad Library

你可以给我一个如何做到这一点的提示吗?如果有现有的课程可以提供帮助。

1 个答案:

答案 0 :(得分:0)

你不需要任何特定的课程来做这件事。我会做一个简单的脚本,只是字符串操作,以找到我必须打印或避免打印特定的行。

我假设你在文本文件中有你想要避免的关键词,每行一个。

所以我对这个问题的解决方案是:

with open("config.txt") as cfile:
    words = cfile.readlines()
words = filter(None, words) # here we get rid of all empty lines, should there be any

with open("bintext-result.txt") as ifile:
    for line in ifile:
        if not(any([w in line for w in words])):
            print line.strip()

逻辑很简单,在文件的每一行,它都会检查你不想看到的任何单词是否存在。如果没有找到,则打印该行。 .strip()用于避免不必要的空格和行尾的额外\ n。