码迷,mamicode.com
首页 > 其他好文 > 详细

包,日志字典

时间:2018-08-10 23:05:26      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:pre   优点   保存   coding   简单   form   isa   相对   sim   

包:

包是一种通过.模块名来组织模块名称空间的方式

包就是一种含有__init__.py文件的文件夹,我们创建包的目的就是用文件夹将文件/模块组织起来

在python3中即使没有__init__.py import也不会报错,在python2中没有__init.py就会报错

包可以提高程序的结构性和可维护性

在导入时不管是import 还是from  import  .的左边必须是包,否则会报错

而在使用时则没有限制

绝对导入与相对导入

# 绝对导入: 以执行文件的sys.path为起始点开始导入,称之为绝对导入
#        优点: 执行文件与被导入的模块中都可以使用
#        缺点: 所有导入都是以sys.path为起始点,导入麻烦

# 相对导入: 参照当前所在文件的文件夹为起始开始查找,称之为相对导入
#        符号: .代表当前所在文件的文件加,..代表上一级文件夹,...代表上一级的上一级文件夹
#        优点: 导入更加简单
#        缺点: 只能在导入包中的模块时才能使用
      #注意:
        1. 相对导入只能用于包内部模块之间的相互导入,导入者与被导入者都必须存在于一个包内
        2. attempted relative import beyond top-level package # 试图在顶级包之外使用相对导入是错误的,言外之意,必须在顶级包内使用相对导入,每增加一个.代表跳到上一级文件夹,而上一级不应该超出顶级包

import os
#日志相关的配置
BASE_DIR=os.path.dirname(os.path.dirname(__file__))
standard_format=‘%(asctime)s-task%(name)s-%(filename)s-%(lineno)d‘\
‘%(levelname)s-%(message)s‘
simple_format=‘%(filename)s-%(lineno)d-%(levelname)s-%(message)s‘
fh1_path=os.path.join(BASE_DIR,‘log‘,‘a1.log‘)
fh2_path=os.path.join(BASE_DIR,‘log‘,‘a2.log‘)
#log配置字典
LOGGING_DIC={
‘version‘:1,
‘disable_existing_loggers‘:False,
‘formatters‘:{
‘standard‘:{
‘format‘:standard_format
},
‘simple‘:{
‘format‘:simple_format
}
},
‘filters‘:{},
‘handlers‘:{
#打印到终端的日志
‘ch‘:{
‘level‘:‘DEBUG‘,
‘class‘:‘logging.StreamHandler‘,#打印到终端,
‘formatter‘:‘simple‘
},
#打印到a1.log文件的日志
‘fh1‘:{
‘level‘:‘DEBUG‘,
‘class‘:‘logging.FileHandler‘,#保存到文件
‘formatter‘:‘standard‘,
‘filename‘:fh1_path,#日志文件的路径
‘encoding‘:‘utf-8‘#日志文件的编码
},

},
‘loggers‘:{
‘‘:{
‘handlers‘:[‘fh1‘,‘fh2‘,‘ch‘],
‘level‘:‘DEBUG‘
},
},
}


 

包,日志字典

标签:pre   优点   保存   coding   简单   form   isa   相对   sim   

原文地址:https://www.cnblogs.com/fushaunglin/p/9457144.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!