zoukankan      html  css  js  c++  java
  • Python学习笔记(五)

    第三方模块

      python有很多的第三方模块,安装后直接用就可以了,常用的三种安装方法如下:

      1、pip安装

        在计算机命令行模式下,运行 pip install pymysql

        如果安装不成功,可以FQ或者把pip源改为国内网站

      2、下载.whl文件

        在计算机命令行模式下,运行 pip install C:UsersDesktoppymysql.whl

      3、下载压缩包文件

        1.解压缩

        2.文件地址栏cmd 然后运行 python  setup.py install

     redis

      redis是非关系型数据库,以key - value形式存储,数据存在内存中,读取速度快

    import redis
    r = redis.Redis(host='1.1.1.1',port=6379,password='********&*',db=10) # 连接redis
    # 操作string类型的
    #
    r.set('hahhah','范德萨发手动发的',50) # 增加数据,设置失效时间,默认-1永久生效
    #
    res = r.get('hahhah') # bytes 二进制
    print(res)
    print(res.decode()) # 编码,变成字符串
    # 修改
    r.set('hahhah','范德萨发手动发的')
    # 删除
    r.delete('hahhah') # 删除不存在的,不报错
    # 其他的方法
    print(r.keys()) # 获取到所有的key
    print(r.keys('*info')) # 过滤,模糊匹配
    print(r.exists('hahhah')) # 判断key是否存在
    r.flushdb() # 清空当前数据库里所有的key
    # 哈希类型 hash,字典嵌套字典
    # 增删改查
    r.hset('hhhaa','aaa','kjlkjlkjljkjk') # 增加,修改
    r.hset('hhhaa','sss','fdsfsdfdsfdsf')
    print(r.hget('hhhaa','aaa')) # 获取制定小key里面的数据
    print(r.hgetall('hhhaa')) # 获取大key里面的数据
    res = r.hgetall('hhhaa')
    a = {}
    for k,v in res.items():
        a[k.decode()] = v.decode()
    print(a)
    for i in res:
        res[i.decode()] = res.pop(i).decode()
    print(res)
    r.hdel('hhhaa','aaa') # 删除制定的小key
    r.delete('hhhaa') # 直接删除大key
    # 其他类型
    r.expire('hhhaa',50) # 制定key的失效时间
    print(r.ttl('hhhaa')) # 查看key的失效时间
    print(r.type('hhhaa')) # 查看key的类型

    pymysql

    import pymysql
    # 1.连上数据库,ip,账号密码,端口号,数据库
    # 2.执行sql,获取结果
    coont = pymysql.connect(host='1.1.1.1',user='xxxx',password='******',
                    port=3306,db='xxx',charset='utf8',autocommit=True)
    cur = coont.cursor() # 建立游标
    res = cur.execute('insert into nhy VALUES ("","haha","123456");') # 执行sql语句,不会返回数据
    sql = 'insert into nhy (NAME ,pwd) VALUES ("haha1","123456");'
    res = cur.execute(sql)
    coont.commit() # 提交
    cur.execute('select * from nhy where name = "haha1"')
    print(cur.fetchall()) # 获取查询到的所有结果,游标走到最后
    print(cur.fetchone()) # 只获取一条
    print(cur.fetchmany(11)) # 指定获取几条
    cur.close() # 游标关闭
    coont.close() # 连接关闭

    nnlog

    import nnlog
    my_log = nnlog.Logger('aaa.log',level='debug',when='d',backCount=5)# 文件、级别、多久执行一次,保留几个文件
    my_log.debug('这是debug的')
    my_log.info('这是info的')
    my_log.warning('这是waring的')
    my_log.error('这是error的')

    加密模块

    import hashlib
    s = '123456'
    print(s.encode())
    m = hashlib.md5(s.encode()) # md5加密算法不可逆
    print(m.hexdigest()) # 获取加密后的结果,传byes类型的
    # 所有一样的字符串,md5之后的结果都是一样的
    # 撞库

    发送邮件

    import yagmail
    # 账号、密码、邮箱服务器、收件人、抄送人、主题、正文、附件
    # qq邮箱需要加smtp_ssl=True,安全协议
    username = 'XXXXXXXX@163.com'
    password = '***********' # 授权码
    mail = yagmail.SMTP(user=username,password=password,host='smtp.163.com') # 连上邮箱
    mail.send(to=['XXXXX@qq.com','XXXXXX@qq.com'],
              cc='XXXXXX@126.com',
              subject='邮件主题',
              contents='正文',
              attachments=r'C:UsersAdministratorDesktop啊啊啊啊.txt')
    # 发送附件,中文是乱码,yagmail里面代码有问题,使用别的yamail

    操作excel

    import xlwt
    book = xlwt.Workbook() # 创建excel
    sheet = book.add_sheet('stu_info') # 创建sheet页
    sheet.write(0,0,'学生编号') # 行、列、写什么
    sheet.write(0,1,'学生姓名')
    sheet.write(0,2,'学生成绩')
    sheet.write(1,0,'1')
    sheet.write(1,1,'聂磊')
    sheet.write(1,2,'88.88')
    book.save('stu.xls') # 用xls结尾,用xlsx的话office可能打不开,wps可以
    
    import xlrd #只能读
    book = xlrd.open_workbook(r'E:MyPypystuday6stu.xls')
    print(book.nsheets) # 获取有多少sheet页
    sheet = book.sheet_by_index(0) # 根据索引获取
    book.sheet_by_name('stu') # 根据名字获取
    print(sheet.cell(0,0).value) # 制定行和列,获取单元格里的数据
    print(sheet.cell(1,0).value)
    print(sheet.row_values(1)) # 获取某一行的数据
    print(sheet.nrows) # 获取excel里面总共有多少行
    print(sheet.col_values(0)) # 获取某一列的数据
    print(sheet.ncols) # 获取excel里面总共有多少列
    
    from xlutils import copy
    # 修改
    # 1.打开原来的excel
    book = xlrd.open_workbook(r'E:MyPypystuday6stu.xls')
    # 2.拷贝一个新的excel
    new_book = copy.copy(book)
    sheet = new_book.get_sheet(0) # 获取第一个sheet页
    sheet.write(1,4,'18')
    new_book.save(r'E:MyPypystuday6stu.xls')
  • 相关阅读:
    apue学习笔记(第一章UNIX基础知识)
    批处理之发布新版本
    在Vista或Windows 7系统上安装Sharepoint 2007
    SharePoint Server 2007 简体中文下载
    sql连接字符串的方法
    共享本地的无线网络
    FastReport报表
    C# 语音识别(文字to语音、语音to文字)
    C#调用脚本语言(三)-- IronJS 与 IronLua 简单方法性能比较
    VS2010中出现无法嵌入互操作类型
  • 原文地址:https://www.cnblogs.com/qingmingzy/p/9296118.html
Copyright © 2011-2022 走看看