作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个几十万行的大文本文件。我必须随机抽取文本文件中的 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()
我怎样才能加快我需要查找的 30,000 行的速度>?
最佳答案
啊哈!因此,您真正的问题是如何在每行中测试多个条件,如果满足其中一个条件,则输出该行。我认为最简单的方法是使用正则表达式:
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)
关于python - 提取特定的文本行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3248395/
我想开发一个 Skype 机器人,它将用户名作为输入,并根据用户输入以相反的字符大小写表示hello username。简而言之,如果用户输入他的名字 james,我的机器人会回复他为 Hello J
我是一名优秀的程序员,十分优秀!