저는 python을 처음 사용하고지도에서 작업 할 때 mincemeat의 문제를 줄입니다. mincemeat 스크립트를 실행하는 동안 다음 오류가 발생합니다.전역 이름 're'가 정의되지 않았습니다.
$python mincemeat.py -p changeme localhost
error: uncaptured python exception, closing channel <__main__.Client connected at 0x923fdcc>
(<type 'exceptions.NameError'>:global name 're' is not defined
[/usr/lib/python2.7/asyncore.py|read|79]
[/usr/lib/python2.7/asyncore.py|handle_read_event|438]
[/usr/lib/python2.7/asynchat.py|handle_read|140]
[mincemeat.py|found_terminator|96]
[mincemeat.py|process_command|194]
[mincemeat.py|call_mapfn|170]
[raw1.py|mapfn|43])
내 코드 [raw1.py|mapfn|43]
로 위의 스택 트레이스에 제시되어있다 raw1.py 스크립트에 달려있다.
import re
import mincemeat
# ...
allStopWords = {'about':1, 'above':1, 'after':1, 'again':1}
def mapfn(fname, fcont):
# ...
for item in tList[1].split():
word = re.sub(r'[^\w]', ' ', item).lower().strip() # ERROR
if (word not in allStopWords) and (len(word) > 1):
# ....
이미 raw1.py에 re
을 가져 왔습니다. mincemeat.py에 re
을 가져 오면 오류가 표시되지 않습니다.
만우절, coursera의 빅 데이터 코스에서 동료 학생을 만나서 기쁘게 생각합니다. – RAbraham