나는 제공된 전자 메일 주소 또는 사용자 ID (정수)를 사용하여 데이터베이스에서 사용자를 끌어낼 수 있기를 원합니다. 이렇게하려면 제공된 문자열이 정수인지 아니면 전자 메일인지를 감지해야합니다. 가장 빠른 방법을 찾고 있습니다. 감사.python에서 문자열이 전자 메일인지 정수인지를 확인하는 가장 빠른 방법은 무엇입니까?
이def _fetchInfo(self, data):
try:
data=int(data)
sql='SELECT ... WHERE id = %s'
args=[data]
except ValueError:
sql='SELECT ... WHERE email = %s'
args=[data]
# This might fail, in which case, data was neither a valid integer or email address
이 전략은 또한 모니 커 "It is Easier to Ask for Forgiveness than Permission"에 의해 진행됩니다
def __init__(self, data):
#populate class data
self._fetchInfo(data)
def _fetchInfo(self, data):
#If an email
#SELECT ... WHERE email = 'data'
#or if a user_id
#SELECT ... WHERE id = 'data'
#Fill class attributes
self._id = row['id']
self._email = row['id']
...
사용 정규 표현식 http://docs.python.org/library/re.html#re-syntax – vittore