• 第五周日志模块正则和包


    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:PycharmProjectswadsdday52_包包的使用.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 : 日志格式
    
  • 相关阅读:
    jQuery dataType指定为json的问题
    C# Post数据和接收简单示例【转】
    搜集的关于领域驱动设计(DDD)的理论知识
    WCF:(400) Bad Request
    关于SQL生成随机字符串
    如何通过禁用按钮避免jQuery.ajax重复请求
    注册自定义HTTP Handlers
    Node.js+Express on IIS
    iframe在IE下不能写cookie的解决
    node.js从全局目录里加载module
  • 原文地址:https://www.cnblogs.com/gaoyuechen/p/8273541.html
Copyright © 2020-2023  润新知