2017-10-18 5 views
0

私は2つのテキストファイルを持っています:記事のテキストを含むものとphrasal verbsのリストを持つものです。記事中の各句動詞の各インスタンスを見つけようとしています。私は記事に句動詞 "log on"が含まれていることを知っています。句動詞リストもそうです。私が句動詞をループし、re.findall()を使ってそれぞれを検索すると、それは何も見つかりません。私が手作業で句動詞リストの1199行目のループを開始すると、その単語は "log on"という単語になります。私がそれを1行早く始めると、1198行目で見つからない。ここに私のコードは次のとおりです。re.findall()は別のファイル内のファイルから行を見つけることができません

import re 
PV_HI = [] 
file = open('article.txt') 
for line in open('phrasalVerbs.txt'): 
    pv = line.strip() 
    pvFound = re.findall(pv, file.read(), flags=re.I) 
    PV_HI.extend(pvFound) 
print(PV_HI) 

はここ句動詞リストテキストファイルのサンプルです:

Lock onto 
Lock out 
Lock up 
Lock away 
Log in 
Log into 
Log off 
Log on 
Log out 
Look after 
Look back 
Look down on 
Look for 
Look forward to 
Look in 
Look in on 
Look into 

と記事ファイルのサンプル:

<p> If you have a business account, a higher Pay Anyone limit up to $500,000 and also have a Security Device to authorise third party payments and/or can add Operators, you are an ANZ Internet Banking for Business customer. 
<p> How do I manage my accounts once I am registered for ANZ Internet Banking? 
<p> If you have registered for ANZ Internet Banking, use your CRN and password to log on to ANZ Internet Banking. 
<p> If you need help while logged on to ANZ Internet Banking, click the " Help " icon in the top right hand corner of all pages. 

最終的に、私は何1600個のファイルのセット内のすべての句動詞の数を得ることです。これを行うより良い方法があれば、私は確かに提案に開放されています。

ありがとうございました!

マット

答えて

0

は、私はいくつかのテストを行うには、あなたのpythonのコードを使用し、その後、(見つけるために、最後の文字「ログオン」追加)あなたの句動詞のサンプルと記事のファイルを保存します。最初は、私は結果も見つけられません。しかし、私は以下のようにコードを変更するとき:

import re 
PV_HI = [] 
with open('article.txt', 'r') as f: 
    article_content = f.read() 
    for line in open('phrasalVerbs.txt'): 
     pv = line.strip() 
     pvFound = re.findall(pv, article_content, flags=re.I) 
     PV_HI.extend(pvFound) 
    print(PV_HI) 

それは正常に動作し、 'ログオン'を見つける。それが役に立てば幸い。

+0

うわー!それはすごく、ありがとう!私は 'article_content = f.read()'をコメントアウトし、 're.findall()'の文字列引数として 'f.read()'を使うとうまくいきませんので、 f.read() 'を変数に追加することは重要です。再度、感謝します! – MattR

+0

うれしかった! :D –

関連する問題