zoukankan      html  css  js  c++  java
  • day17 包的使用 logging模块的基本用法

    1.什么是包

    包是模块的一种形式,包就是一个含有__init__.py文件的文件夹

    包是模块的一种形式,即包是用来被导入的,但包的本质就是一个文件夹(文件夹的作用就是用来存放文件的,包内所有的文件都是被导入使用的)

    导包其实就是导__init__

    核心搞清楚谁是执行文件,谁是被导入文件,确认执行文件下的环境变量。

    但凡要导一个包,实质就是在导__init__下的包

    导入方式:

    1、绝对导入:相对与执行文件所在的文件夹(每次从包的根目录开始找,称之为绝对导入)

    2、相对导入:相对于当前被导入的文件(只能用于模块直接的互相导入)

    日志模块 logging

     四种角色

    logger  负责产生日志(可以设置日志级别)

    filter 筛选日志

    handler 接受logger对象传来的日志,控制输出到不同的位置(可以设置日志级别)

    formatter:控制handler对象输入日志的格式

    debug 10

    info 20

    warning 30

    error 40

    critical 50

    =======================================================================

    2.为什么要有包

    3.如何用包

      导入包就是在导包下的___init__.py

      import...

      from...import...

      注意的问题:

      1、包内所有的文件都是被导入使用的,而不是被直接运行的

      2、包内部模块之间的导入可以使用绝对导入(以包的根目录为基准)与相对导入(以当前被导入的模块所在的目录为基准)

        推荐使用相对导入

      3、当文件是执行文件时,无法在该文件内用相对导入的语法

        只有在文件时被当作模块导入时,该文件内才能使用相对导入的语法

      4、凡是在导入时带点的,点的左边都必须是一个包-

    import aaa

    首次导入的模块发生三件事
    1、创建一个包的名称空间
    2、执行py文件,将执行过程中产生的名字存放于名称空间中  (即包名称空间中产生的名字都是来自于__init__.py)#__init__导包的执行文件
    3、在当前执行文件中拿到一个名字aaa.aaa是指向包的名称空间的(aaa其实指的是__init__.py)

    #导包就是导__init__

    #一定要搞明白谁是执行文件,谁是被导入的文件    包下面有py文件但是下面所有的文件都不是右键运行的

  • 相关阅读:
    Spring Cloud Hystrix Dashboard的使用 5.1.3
    Spring Cloud Hystrix 服务容错保护 5.1
    Spring Cloud Ribbon 客户端负载均衡 4.3
    Spring Cloud 如何实现服务间的调用 4.2.3
    hadoop3.1集成yarn ha
    hadoop3.1 hdfs的api使用
    hadoop3.1 ha高可用部署
    hadoop3.1 分布式集群部署
    hadoop3.1伪分布式部署
    KVM(八)使用 libvirt 迁移 QEMU/KVM 虚机和 Nova 虚机
  • 原文地址:https://www.cnblogs.com/wangmiaolu/p/9180847.html
Copyright © 2011-2022 走看看