zoukankan      html  css  js  c++  java
  • 常用模块(4)操作数据库,MD5(加密),写excel

    1.加密模块

    import hashlib

    m = hashlib.md5()

    #print(m.__doc__)#用来查看帮助文档 有哪些方法之类

    # bytes

    passwd = 'NHY_*&^_1982343532'

    # passwd.encode() #把字符串转成bytes类型

    m.update(passwd.encode())   #不能直接对字符串加密,要先把字符串转成bytes类型

    print(m.hexdigest())

    #md5加密是不可逆

    #撞库 (网上解密原理)

    # befor         after

       # nhy123  81fb61ce98e508df8dbe8da07ad9acfc

    def my_md5(str):   #定义一个加密函数

      import hashlib

      new_str = str.encode() #把字符串转成bytes类型

      # new_str = b'%s'%str  #把字符串转成bytes类型

      m = hashlib.md5()  #实例化md5对象

      m.update(new_str)  #加密

      return m.hexdigest()  #获取结果返回

    # hashlib.sha512 不同位数加密

    2.操作数据库

    import pymysql

    # 1、连上数据库  账号、密码 ip 端口号 数据库

    #2、建立游标

    #3、执行sql

    #4 、获取结果

    # 5、关闭游标

    #6、连接关闭

    coon = pymysql.connect(

      host='192.168.6.23',user='jxz',passwd='123456',

      port=3306,db='jxz',charset='utf8'

      #port必须写int类型,

      #charset这里必须写utf8

    )

    cur = coon.cursor() #建立游标

    # cur.execute('select * from stu;')#执行sql语句

    cur.execute('insert into stu (id,name,sex) VALUE (1,"牛寒阳","女");')

    # delete update insert

    coon.commit()  #必须得coomit

    res = cur.fetchall()  #获取所有返回的结果 不能直接获取必须通过函数

    print(res) #每个结果放入一个二维数组

    cur.close()#关闭游标

    coon.close()#关闭连接

    将其分装为一个函数

    def my_db(host,user,passwd,db,sql,port=3306,charset='utf8'):

      import pymysql

      coon = pymysql.connect(user=user,

                                     host=host,

                                     port=port,

                                     passwd=passwd,

                                     db=db,

                                     charset=charset

                                     )

      cur = coon.cursor() #建立游标

      cur.execute(sql)#执行sql

      if sql.strip()[:6].upper()=='SELECT': #解决大小写的不识别的问题

            res =  cur.fetchall()

      else:

            coon.commit()

            res = 'ok'

      cur.close()

      coon.close()

      return res

    3.写excel

    import xlwt

    book = xlwt.Workbook() #新建一个excel

    sheet = book.add_sheet('sheet1')#加sheet页

    sheet.write(0,0,'姓名')#行、列、写入的内容

    sheet.write(0,1,'年龄')

    sheet.write(0,2,'性别')

    book.save('stu.xls')#结尾一定要用

  • 相关阅读:
    flex
    两端对齐
    background-clip、background-origin、box-sizing
    animation
    transform translate transition 的区别
    如何将页脚固定在页面底部
    normalize.css
    使用 Swift 制作一个新闻通知中心插件(1)
    在 App 扩展和主 App 间共享数据
    asp.net core Cookie认证
  • 原文地址:https://www.cnblogs.com/cslw5566/p/8934551.html
Copyright © 2011-2022 走看看