python文件命名的错误

今天出现了一个错误:

D:\>python3 re.py
Input a email addr: [email protected]
Traceback (most recent call last):
  File "re.py", line 1, in <module>
    import re
  File "D:\re.py", line 12, in <module>
    print(is_valid_email(addr))
  File "D:\re.py", line 5, in is_valid_email
    if re.match(re_str, addr):
AttributeError: module 're' has no attribute 'match'

代码如下:

import re

def is_valid_email(addr):
    re_str = r'^([a-zA-Z_.])@([a-zA-Z.].[com|cn|gov])'
    if re.match(re_str, addr):
        return True
    else:
        return False

while (1):
    addr = str(input('Input a email addr: '))
    print(is_valid_email(addr))

明明有导入re模块,但是却没有match方法。原来是因为我把python文件命名为re.py,与内置的re模块重名导致。

猜你喜欢

转载自blog.51cto.com/10931223/2311149