提取特定的文字行?

nov*_*vak 5 python

我有几个hudred千行文本文件.我必须在随机点中提取30,000个特定行,这些行都在文本文件中.这是我必须一次提取一行的程序:

big_file = open('C:\\gbigfile.txt', 'r')
small_file3 = open('C:\\small_file3.txt', 'w')
for line in big_file:
   if 'S0414' in line:
      small_file3.write(line)
gbigfile.close()
small_file3.close()
Run Code Online (Sandbox Code Playgroud)

如何加速我需要查看的30,000行>?

Nas*_*nov 5

啊哈!所以你真正的问题是如何测试每行的许多条件,如果其中一个满足,则输出该行.我认为最容易使用正则表达式:

import re
keywords = ['S0414', 'GT213', 'AT3423', 'PR342'] # etc - you probably get those from some source
pattern = re.compile('|'.join(keywords))

for line in inf:
    if pattern.search(ln):
        outf.write(line)
Run Code Online (Sandbox Code Playgroud)