ファイルからパターンを抽出する関数を書きましたが、正しく動作しませんでした。なんで?
Pythonでの私のコード:
import re
f = open('quran_final.txt','r')
r = open('q.txt','w')
p = re.compile('ROOT:(?P<root>[^ "]+)')
for line in f:
root = p.findall(line)
if(root):
for word in root:
print word
else:
print ' '
問題は「チェック」にあると思いますが、どのように変更すればよいですか?
私のテキストファイルのサンプル:
f:CONJ+ POS:V IMPV ROOT:Akl 2MP
POS:LOC LEM:Hayov ROOT:Hyv
POS:V PERF ROOT:$yA 2MP
POS:ADJ LEM:ragad ROOT:rgd M INDEF ACC
wa+ POS:V IMPV ROOT:dxl 2MP
Al+ POS:N LEM:baAb ROOT:bwb M ACC
POS:N LEM:saAjid ROOT:sjd MP INDEF ACC
wa+ POS:V IMPV ROOT:qwl 2MP
POS:N LEM:HiT~ap ROOT:HTT F INDEF NOM
POS:V IMPF ROOT:gfr 1MP MOOD:JUS
POS:N LEM:xaTiy^_#ap ROOT:xTA P ACC PRON:2MP
wa+ sa+ POS:V IMPF ROOT:zyd 1MP
Al+ POS:N ACT PCPL (IV) LEM:muHosin ROOT:Hsn MP ACC
f:REM+ POS:V PERF (II) ROOT:bdl 3MS
POS:V PERF ROOT:Zlm 3MP
POS:N LEM:qawol ROOT:qwl M INDEF ACC
POS:REL LEM:{l~a*iY MS
POS:V PERF PASS ROOT:qwl 3MS
f:REM+ POS:V PERF (IV) ROOT:nzl 1MP
POS:REL LEM:{l~a*iY MP
POS:V PERF ROOT:Zlm 3MP
POS:N LEM:rijoz ROOT:rjz M INDEF ACC
Al+ POS:N LEM:samaA^' ROOT:smw F GEN
POS:V PERF ROOT:kwn SP:kaAn 3MP
POS:V IMPF ROOT:fsq 3MP
POS:V PERF (X) ROOT:sqy 3MS