python - 给出特定输出时如何触发“返回”
问题描述
我正在用 Python 开发一个身份验证脚本。我需要 PyMySQL 来检查用户是否存在,我该怎么做?
我阅读了文档,但没有找到我的问题的答案。
def check():
connection = pymysql.connect(host='localhost',
user='user',
password='passwd',
db='db',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
userexist = # PyMySQL check code here
if userexist=='True':
return 'good'
解决方案
目前尚不清楚您是要检查 pymysql 用户还是数据库中的用户。此代码将解决这两种情况。pymysql 将引发异常:pymysql.err.OperationalError
如果用户不存在。因此,您需要尝试一下,除了这样的子句:
def check():
try:
connection = pymysql.connect(host='localhost',
user='user',
password='passwd',
db='db',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
except pymysql.err.OperationalError:
print('User with entered connection credentials does not exists')
return False
try:
with connection.cursor() as cursor:
cursor.execute("select...") # Fill with your select statement
result = cursor.fetchone()
if result is None:
connection.close()
return False
finally:
connection.close()
return 'good'
推荐阅读
- python - 使用 groupby 按频率排序
- angular - 比较其余字符串角度
- python - 正则表达式匹配字符串的最后一个实例
- python - 如何将数据设置为多索引 DataFrame 的视图?
- python - SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:无法获取本地颁发者证书 (_ssl.c:1076)')
- r - 如何在 TraMineR 中使用来自 BORIS 的状态数据?
- python - 如何区分使用 python 进行 CV2 图像处理中的行?
- python-3.x - 具有相同字符的对角线 - Python
- go - 未从 list.List 中删除元素
- java - spring boot jar 未连接到 Kafka 代理(通过系统变量 java.security.auth.login.config 设置 client_jaas.conf)