2017-10-18 1 views
0

두 개의 텍스트 파일이 있습니다. 하나는 기사의 텍스트이고 다른 하나는 phrasal verbs의 목록입니다. 기사에서 각 구문 동사의 각 인스턴스를 찾으려고합니다. 나는이 기사에 "동사"라는 동사가 포함되어 있고, 동사의 동사 목록도 포함되어 있음을 알고 있습니다. 내가 phrasal 동사를 반복하고 re.findall()을 사용하여 각각을 검색 할 때 아무 것도 찾지 못합니다. 필자가 수동으로 "log on"이라는 단어 인 프래시 동사 목록의 1199 줄에서 루프를 시작하면 찾는다. 내가 한 줄 더 일찍 시작할 때 줄 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

내가 당신의 동사구의 샘플 (결국 문자를 찾을 수있는 '로그온'추가) 문서 파일을 저장 한 다음 몇 가지 테스트를 수행하기 위해 파이썬 코드를 사용합니다. 처음에는 어떤 결과도 찾을 수 없습니다. 그러나 아래 코드를 변경하면 :

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

도움이 되니 기쁩니다! :디 –

관련 문제