我一直在玩Matthew Barnett的improved regex module for Python,发现了一个奇怪的错误(行为?bug?)。 请考虑以下代码:
import regex as re
string = "liberty 123, equality 123, fraternity 123"
rx = r'\d+(?=,|$)'
results = re.findall(rx, string)
print (results)
从Mac上的命令行(python regex.py
)调用时,我得到错误AttributeError: 'module' object has no attribute 'findall'
,而当我将完全相同的代码复制并粘贴到python shell时,它正确输出
['123', '123', '123']
有人可以请我吗?这是我在这里遗漏的一些显而易见的事情吗?
答案 0 :(得分:3)
您不得将模块命名为与系统模块相同的名称。将文件regex.py
重命名为其他内容,例如my_regex.py
,然后删除文件regex.pyc
(如果存在)。