python按關鍵字列表查詢並輸出其所在行

2021-09-20 12:40:24 字數 1314 閱讀 6656

#!/usr/bin/env python

# -*- coding: utf-8 -*-

__author__ = 'shengwei ma'

__author_email__ = '[email protected]'

with open('3.txt', 'r') as f1:

a = set(line.strip() for line in f1)

with open('wheat_est_gi.fa.gff3', 'r') as f:

for line in f:

line1 = line.strip().split('\t')

name = line1[8].split(';')[1].split('=')[1]

if name in a:

print line,

但是,實際操作中遇到一些問題及困惑

如:error:indexerror: list index out of range,參考了indexerror: list index out of range的錯誤原因及解決方案

改正後的**:

#設定輸出檔名稱,w為可寫

out = open('e:/test/find.txt','w')

#輸入關鍵字列表.txt,r為唯讀

with open('e:/test/keyword.txt','r') as keyword:

keyword2=set(line.strip() for line in keyword)

#輸入需要查詢的檔案

with open('e:/test/g005.gff3','r') as gff:

for line in gff:

#分成9列

line1=line.strip().split('\t',8)

#print(line1)

#解決indexerror: list index out of range問題

try:

#第9列,選取"id="和".v3"之間的字段

name = line1[8].split('id=')[1].split('.v3')[0]

except:

continue

#print(name)

#判斷name是否在keyword2裡,如果是,則輸出

if name in keyword2:

#print (line)

out.write(line)

\r \t \n

.split()

關鍵字搜尋查詢列表

從乙個我常用的面試題,也是真實需求開始聊起 你需要在前端展示 5000 條甚至更多的資料,每一條資料的資料結構是乙個物件,裡面有格式各樣的屬性。每個屬性的值又可以是基本型別,物件,甚至陣列。這裡的物件或者陣列內部的元素又可以繼續包含物件或者陣列並且允許無限巢狀下去。比如 age 23,roles d...

關鍵字查詢

題目描述 每次給你一篇文章,和一些關鍵字,需要你告訴我多少關鍵字將匹配於文章。輸入描述 第一行包含乙個整數,表示有多少篇文章。最後一行是文章,長度不超過1000000。輸出描述 輸出文章中包含多少關鍵字。輸入樣例 15 shehe sayshr heryasherhs 輸出樣例 3源 include...

python抓取中文頁面並查詢關鍵字頁面

首先,設定檔案字元編碼格式為utf 8 coding utf 8 import urllib import chardet total cnt 29 target str 順受 判斷目標字串編碼格式 print chardet.detect target str for i in range 1,t...