zoukankan      html  css  js  c++  java
  • python学习笔记(六)发邮件、写日志、操作redis、导入模块

    一、发邮件

    1. 首先需要导入发邮件的模块

    import yagmail

    2. 定义两个变量,用户名和密码,分别用来存放将发送邮箱的邮箱地址和密码

    3. 调用邮箱模块中的方法

    yagmail.SMTP(host='smtp.163.com',user=user,
    password=password,
    )
    其中host中的smtp后面跟的是邮箱的后缀
    然后调用发送的方法:m.send=(to=[邮箱地址1,邮箱地址2],cc=[邮箱地址1,邮箱地址2],subject='邮件名称',contents='邮件内容',attachments=附件的文件名称,可以是相对路径也可以是绝对路径)

    二、写日志

    1.首先需要导入日志模块

    2.调用日志格式方法

    # log = nnlog.Logger('my.txt'(日志文件名称),backCount=3(最多产生3个日志文件),when='M'(每分钟产生一个新的日志文件))
    # log.info('qwrewfewf...')
    # log.error('121212122....')
    日志级别由低到高分别是:info,waring,debug,error

    三、操作redis

    1. 首先要导入redis模块

    2. 定义两个变量分别存放redis库的ip地址和密码

    3.连上redis

    redis.Redis(host=ip,password=password,port=6379,db=1,
    decode_responses=True)
    # decode_responses这个参数的意思是,返回的二进制数据直接decode一下
    # print(r.get('python:lyos'))获取python这个文件夹下的key值时lyos的value的值
    # print(r.hgetall('jnz_stus'))获取哈希类型中大key为jnz_stus下的所有内容

    # r.flushdb() #删除这个数据库里面所有的key
    # print(res.decode()) #decode是bytes类型,转成字符串

    #string
    # res = r.get('nhy2')
    # r.set('nhy','acb123',24*60*60) #新增和修改都是它
    # r.delete('nhy') #删除指定的key
    # r.set('python:os','listdir,path')
    # res = r.get('python:os')
    # print(res)

    # print(r.keys('session*')) #获取所有的key


    #哈希类型 hash类型

    #二层字典

    # r.hset('jnz_stus','yangfan','sdfsdfsdfsdf')
    # res = r.hget('jnz_stus','cm') #指定获取里面小key的值
    # r.delete('jnz_stus') #删除大key
    # r.hdel('jnz_stus','cm') #删除指定的小key
    # res = r.hgetall('jnz_stus') #获取到大key里面所有的数据

    四、导入模块

    python中有一种是自己写的模块,这种模块也可以被调用,但是这个调用有一定的规定

    1、导入模块的顺序
    1、先从当前目录下找这个模块
    2、再去环境变量里面找
    2、导入的模块的实质就是把导入的这个python文件运行一次

    如果想在不同的路径下使用自己写的模块,可以在模块所在的文件夹进行一个设置,如下设置,day7这个文件夹下的所有模块就都可以相互导入使用了

    from 文件夹.文件 import 函数-------调用文件夹中制定的函数

    form 文件夹 import 文件     ----------调用文件夹中所有的内容

    
    
  • 相关阅读:
    MSIL实用指南-数据类型转换
    MSIL实用指南-类相关生成
    MSIL实用指南-方法的调用
    MSIL实用指南-struct的生成和操作
    MSIL实用指南-闭包的生成和调用
    Jenkins+maven+gitlab自动化部署之用户权限管理(八)
    Jenkins+maven+gitlab自动化部署之docker发布sprint boot项目(七)
    Centos7部署node
    Jenkins+maven+gitlab自动化部署之前端构建发布(六)
    Jenkins+maven+gitlab自动化部署之构建Java应用(五)
  • 原文地址:https://www.cnblogs.com/nickey85/p/9806844.html
Copyright © 2011-2022 走看看