第五周日志模块正则和包

Posted 滴滴滴--你不是爱拖延,而是爱逃避

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第五周日志模块正则和包相关的知识,希望对你有一定的参考价值。

1.模块的使用



2.为什么要使用模块
    1.从文件级别组织程序,更方便管理
    2.引用别人写的,提升效率
3.如何实用模块  import spam
    第一次导入模块发生几件事:
    1.产生一个新的名称空间
    2.运行原文件代码产生的名字都存放在1的名称空间中
    运行过程中gloabl关键字指向改名称空间

    当前文件的名称空间sapm 名称空间指向了spam.py运行文件的名称空间

    def read1():
        print(money)

    import spam
    import spam #重复导入时重复引用不是重新加载,不会重复加载
    money=1

    spam.money #原来属性的不会冲突
    #引用的源文件的属性
    spam.read1

    强调:宝导入的模块在执行的过程中使用自己的独立的名称空间.

    2.起别名
    import spam as  sm

    print(sm.money)

    3.一行导入多个模块
    import time,sys,spam

    4.如何使用模块
    from 模块 import 名字

    直接用名字
    优点:引用方便
    缺点:容易和当前名称空间产生冲突

    from span import money as  m
    from span import money.read1
    from span import *  #名字全部倒入
    #* 容易冲突
    #_money  下划线开始的名字* 无法导入

    5.python 文件的两种用途

        1.直接运行,当做脚本执行
        2.当做模块被导入使用

        __name__的值在引用的时候就是文件名spam

        __name__ 在本地引用的时候就是__main__
     6.模块的搜索路径

        1. 内存 ---> 内置模块 ---> 自己定义的模块在sys.path
        查找先在内存里面查找

        [‘D:\\PycharmProjects\\wadsd\\day5‘, ‘D:\\PycharmProjects\\wadsd‘,
        执行文件所在的文件夹
         ‘D:\\Python36\\python36.zip‘, ‘D:\\Python36\\DLLs‘,
         zip相当于文件夹
        ‘D:\\Python36\\lib‘, ‘D:\\Python36‘, ‘D:\\Python36\\lib\\site-packages‘]
        print(sys) # 内置模块C语言写的
        <module ‘sys‘ (built-in)>

        sys.path.append(r‘D:\PycharmProjects\wadsd\day5\02_包\包的使用.py‘)

        sys.path路径加上就可以找到包
        或者放入同一路径

        import  spam,time

        time,sleep(10)
        import span

二 包
    包就是文件夹,组织起来调用
    包就是包含了__init__.py的文件夹
    可以往改文件夹下放一堆子模块.
    导入调用
    py3的时候包下面没有init.py文件也不会报错.py2不行

    包的使用导入时

    但凡是在导入时出现点,这是导入包才有的语法
    点的左边必须是一个包
    使用的时候没有这种限制

    包的导入是在以当前执行文件的文件夹下,为相对路径进行查找对应关系

    from 包 import

    从哪里导入什么

    import sys

    sys.path.append("主程序目录")
    sys.path.append("ATM")


5.日志模块的详细用法;
    1.logger 产生日志
    logger1=logging.getLogger(‘访问日志‘)

    2.Filter 几乎不用

    3.Hnaderler:接收logger传过来的日志,进行日志格式化,
        可以打印到终端,也可以打印到文件

        sh =logging.StreamHanderler() 打印到终端.

        fh1=logging.FilterHandler(‘s1.log‘,encoding=‘utf-8‘)

        logger1.setLevel(30)
        sh.setLevel(10)
    4. Formatter : 日志格式

 

以上是关于第五周日志模块正则和包的主要内容,如果未能解决你的问题,请参考以下文章

2018.4.22 五周第五次课 (正则grep-过滤指定关键词)

Python学习笔记——基础篇第五周——正则表达式

Python3 第五周大纲(模块,导入方法import本质,导入优化,模块的分类)

python第五周学习内容

第五周学习总结

Python学习笔记——基础篇第五周——常用模块学习