加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 全局名称’re’未定义

发布时间:2020-12-16 23:11:28 所属栏目:Python 来源:网络整理
导读:我是新来的 python和在地图上工作减少问题与肉酱.运行mincemeat脚本时出现以下错误. $python mincemeat.py -p changeme localhosterror: uncaptured python exception,closing channel __main__.Client connected at 0x923fdcc (type 'exceptions.NameError'
我是新来的 python和在地图上工作减少问题与肉酱.运行mincemeat脚本时出现以下错误.
$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脚本中,在上面的stacktrace中给出了[raw1.py | mapfn | 43].

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,则不会显示该错误.

解决方法

您需要在mapfn中具有import语句. mapfn在不同的python进程中执行,因此它无法访问它被声明的原始上下文(包括导入).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读