1. 程式人生 > >python檔案命名的錯誤

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模組重名導致。