我知道如何兩條線之間的解析,當起「目標字」和最終「目標字」是不同的兩條線之間的解析的Python:用相同的關鍵字
例如如果我想X和Y之間解析:
parse = False
for line in open(sys.argv[1]):
if Y in line:
parse = False
if parse:
print line
if X in line:
parse = True
我卡在一個稍微不同的問題,在這裏我想與解析的詞是同一個詞。即,在此實例中,有4個不同的同系物基團,並且我想提取每個同系物組中的人/小鼠對,所以我想打開該文件:
1:_HomoloGene:_141209.Gene_conserved_in_Mammals
LOC102724657 Homo_sapiens
Gm12569 Mus_musculus
2:_HomoloGene:_141208.Gene_conserved_in_Euarchontoglires
LOC102724737 Homo_sapiens
LOC102636216 Mus_musculus
3:_HomoloGene:_141152.Gene_conserved_in_Euarchontoglires
LOC728763 Homo_sapiens
E030010N07Rik Mus_musculus
E030010N09Rik Mus_musculus
E030010N010Rik Mus_musculus
E030010N08Rik Mus_musculus
LOC102551034 Rattus_norvegicus
4:_HomoloGene:_141054.Gene_conserved_in_Boreoeutheria
LOC102723572 Homo_sapiens
LOC102157295 Canis_lupus_familiaris
LOC102633228 Mus_musculus
向一個Homo_sapiens /小家鼠比較像這樣的:
Homo_sapiens Mus_musculus
LOC102724657 Gm12569
LOC102724737 LOC102636216
LOC728763 E030010N07Rik
LOC728763 E030010N09Rik
LOC728763 E030010N010Rik
LOC728763 E030010N08Rik
LOC102723572 LOC102633228
我沒有幾乎成功的代碼來顯示,這是什麼,我已經試過一個例子(和我也試了正則表達式和分裂的字行「HomoloGene」 ):
import sys
ListOfLines = open(sys.argv[1])
for line in ListOfLines:
if "HomoloGene" in line:
if "HomoloGene" in ListOfLines.next():
print line
print "**"
else:
print ListOfLines.next()
謝謝
你不認爲組數會超過9? – alexis
好點。相應地解決了這個問題 – CDe
s /'if match!= None:'/'if match:'/。你忘了放棄'group'的舊定義,所以你的代碼仍然被破壞。 – alexis