首页 > 数据库技术 > 详细

Python-列表生成式&三元表达式&操作mysql&md5加密

时间:2019-05-24 15:24:18      阅读:152      评论:0      收藏:0      [点我收藏+]

1.列表生成式

# 生成01,02到10
import os
# l1为普通写法
l1 = []
for i in range(1, 11):
    l1.append(str(i).zfill(2))

# l2为l1对应的列表生成式
l2 = [str(i).zfill(2) for i in range(1, 11)]

# l3和l4为生成文件,l4加了判断,注:判断只能加一个,可以不加
l3 = [open(%s.txt%i,w) for i in range(10)]
l4 = [os.mkdir(str(i)) for i in range(10) if i%2==0]

 

2.三元表达式

sex_tag = 0
if sex_tag:
    sex = 
else:
    sex = 
    
# 与上述代码块对应的三元表达式:
sex =  if sex_tag else   # 条件满足,取前面的值,不满足取后面的值

 

3.操作mysql

# 操作数据库步骤:连接数据库--建立游标--执行sql--提交--关闭连接和游标
import pymysql # 导入mysql数据库模块
# 1.连接数据库
conn = pymysql.connect(host=XXX.XXX.XXX.XXX, # 数据路地址
                       port=XXXX, # 端口号
                       user=XXXX, # 用户名
                       password=XXXX, # 密码
                       db=XXXX, # 数据库名
                       charset=utf8, # 指定字符集
                       autocommit=True) # 自动提交
# port必须是数字,charset是utf8而不是utf-8,密码需是字符型,autocommit=True表示自动提交
cur = conn.cursor(pymysql.cursors.DictCursor)  # 2.建立游标(以管理员来理解);参数表示返回值以字典形式显示,可以不加
sql = "select * from app_myuser;"
sql1 = "insert into app_myuser(username, passwd, is_admin) values (‘张三‘, ‘123123123‘, ‘822‘);"
cur.execute(sql)  # 3.执行sql语句
conn.commit()  # 4.提交;修改,删除,增加类操作需要提交才能生效;添加自动提交参数后,即不用再写提交语句
# result = cur.fetchall()  # 获取执行sql语句后的所有的结果
result1 = cur.fetchone() # 获取执行sql语句后的一条结果
# cur.description  # 表各字段的描述
cur.close()  # 5.关闭游标
conn.close()  # 5.断开数据库连接
# 将操作数据路步骤写成一个函数:
def op_mysql(info, sql: str):
    result = finish
    conn = pymysql.connect(**info)  # 1.连接数据库
    cur = conn.cursor(pymysql.cursors.DictCursor)  # 2.建立游标
    cur.execute(sql)  # 3.执行sql
    if sql.strip().lower().startswith(select):
        result = cur.fetchall()
    cur.close() # 4.关闭游标
    conn.close() # 4.关闭连接
    return result

mysql_info = {
    host: XXX.XXX.XXX.XXX,
    port: XXXX,
    password: XXXX,
    user: XXXX,
    db: XXXX,
    charset: utf8,
    autocommit: True # 自动提交
}
sql = "select * from app_myuser;"
res = op_mysql(mysql_info, sql) # 调用函数

 

4.md5加密

# md5加密:加密不可逆,即无法解密
import hashlib # 导入hashlib模块
s = 123456
m = hashlib.md5(s.encode())  # 加密;s.encode表示将s转化成bytes,不能s直接加密
result = m.hexdigest()  # 获取加密后的结果
print(result)
# 加密函数--加盐
def md5(s, salt=$!@#$12232):  # salt为加盐(即给密码后加固定字符)
    s = str(str(s) + salt).encode()
    m = hashlib.md5(s)  # 加密
    return m.hexdigest() # 返回加密后的内容

md5(123,dgdsghad) # 调用加密函数

 

Python-列表生成式&三元表达式&操作mysql&md5加密

原文:https://www.cnblogs.com/huoxn/p/10901377.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!