Я пишу модуль, в котором строка электронного письма проверяется перед его вставкой в БД.Когда я пытаюсь ввести недопустимую строку электронной почты, он печатает блок else с неправильным сообщением электронной почты, но когда я ввожу правильную строку электронной почты, он ничего не делает.Вот код:
#!/usr/bin/python
import MySQLdb
import re
# Open database connection
db = MySQLdb.connect("localhost","root","root","acl" )
# prepare a cursor object using cursor() method
cursor = db.cursor()
def addUser(email,password):
try:
if validateEmail(email):
sql = "INSERT INTO acl_users(email, password) VALUES ('%s', '%s')" % (email, password)
# Execute the SQL command
cursor.execute(sql)
# Commit your changes in the database
db.commit()
else:
print "wrong email"
except Exception as inst:
# Rollback in case there is any error
db.rollback()
print inst
def validateEmail(email):
if len(email) > 7:
if re.match("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$", email) != None:
return True
else:
return False
else:
return False
Любые предложения, пожалуйста?
edit-1
получил ответ, ребята!после создания экземпляра исключения в блоке кроме я узнал, что импорт re отсутствует.это решило проблему.