configparser logging

configparser模块        # 该模块适用于配置文件的格式与windows ini文件类似,可以包含一个或多个节(section),每个节可以有多个参数(键=值)。
import configparser
config = configparser.ConfigParser()
config['bitbucket.org'] = {'User':'hg'}
config['topsecret.server.com'] = {'Host Port':'50022','ForwardX11':'no'}
with open('example.ini', 'w') as configfile:config.write(configfile)
#---------------------------查找文件内容,基于字典的形式
config = configparser.ConfigParser()
config.read('example.ini')                            
print(config.sections())
print('bytebong.com' in config)                     # False
print(config['bitbucket.org']["user"])              # hg
for key in config['bitbucket.org']:print(key)        # 注意,有default会默认default的键
print(config.options('bitbucket.org'))              # 同for循环,找到'bitbucket.org'下所有键
print(config.items('bitbucket.org'))                # 找到'bitbucket.org'下所有键值对
print(config.get('bitbucket.org','compression'))    # yes    get方法Section下的key对应的value
#---------------------------增删改
config = configparser.ConfigParser()
config.read('example.ini')
config.add_section('yuan')                                    # 增加section
config.remove_section('bitbucket.org')                        # 删除一个section
config.remove_option('topsecret.server.com',"forwardx11")    # 删除一个配置项
config.set('topsecret.server.com','k1','11111')
config.set('yuan','k2','22222')
config.write(open('new2.ini', "w"))import logging
# logging.basicConfig(level=logging.WARNING,
#                     format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
#                     datefmt='%a, %d %b %Y %H:%M:%S')
# logging.debug('debug message')        # 低级别的 # 排错信息
# logging.info('info message')            # 正常信息
# logging.warning('warning message')    # 警告信息
# logging.error('error message')        # 错误信息
# logging.critical('critical message')    # 高级别的 # 严重错误信息
# # basicconfig 简单 能做的事情相对少    # 中文的乱码问题    # 不能同时往文件和屏幕上输出
# 
# 配置log对象 稍微有点复杂 能做的事情相对多
import logging
logger = logging.getLogger()        #logger.setLevel(logging.DEBUG)
fh = logging.FileHandler('log.log',encoding='utf-8')    # 创建一个文件控制对象
sh = logging.StreamHandler()                            # 创建一个屏幕控制对象
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
formatter2 = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s [line:%(lineno)d] : %(message)s')
# 文件操作符 和 格式关联
fh.setFormatter(formatter)
sh.setFormatter(formatter2)
# logger 对象 和 文件操作符 关联
logger.addHandler(fh)
logger.addHandler(sh)
logging.debug('debug message')    # 低级别的 # 排错信息
logging.info('info message')    # 正常信息
logging.warning('警告错误')        # 警告信息
logging.error('error message')    # 错误信息
logging.critical('critical message')    # 高级别的 # 严重错误信息

 

转载于:https://www.cnblogs.com/ming-yuan/p/9536876.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/367614.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JS结合Cookie实现验证码功能

验证码功能是现在网站开发中非常常见的一种功能,常见的编程语言,比如.NET,JAVA都能很容易实现验证码功能,今天我准备分享一个使用JS实现验证码的功能,非常简单使用,拿来就可以用,废话不多说,直接…

创建基于密码的加密密钥

本文讨论了创建基于密码的加密PBE密钥。 首先提醒您以前的要点–通常,在实际操作中,应将PBE密钥用作主密钥,该主密钥仅用于解锁工作密钥。 这具有三个主要优点: 您可以有多个密码,例如,托管的恢复密钥&am…

php-5.6.26源代码 - PHP文件汇编成opcode、执行

文件 php-5.6.26/Zend/zend.c ZEND_API int zend_execute_scripts(int type TSRMLS_DC, zval **retval, int file_count, ...) /* {{{ */ {va_list files;int i;zend_file_handle *file_handle;zend_op_array *orig_op_array EG(active_op_array); // 保存现场,操作…

java1a2b3c4d5e6f_用两个线程,一个输出字母,一个输出数字,交替输出1A2B3C4D...26Z...

用两个线程,一个输出字母,一个输出数字,交替输出1A2B3C4D...26Z方法一public class Test {static Thread t1 null, t2 null;public static void main(String[] args) {char[] aI "1234567".toCharArray();char[] aC "ABCD…

js如何设置浏览器全屏效果?

现在很多网页游戏进入游戏界面后都是全屏显示的效果,很多人问我这个要怎么实现,其实这个只要调用Fullscreen API就可以实现了作为一个比较新的 API,目前只有 Safari、Chrome 和 FireFox以及IE10以上的浏览器才支持该特性。因为尚未发布正式版…

6759: 异或序列

6759: 异或序列 时间限制: 1 Sec 内存限制: 128 MB题目描述 已知一个长度为n的整数数列a1,a2,…,an,给定查询参数l、r,问在al,al1,…,ar区间内,有多少子序列满足异或和等于k。也就是说,对于所有的x,y(l≤x≤y≤r),满足…

Neo4j Java REST绑定–第2部分(批处理)

在第1部分中 ,我们讨论了使用Java REST绑定建立与Neo4j Server的连接。 现在让我们详细了解事务,批处理以及REST请求的实际情况。确保org.neo4j.rest.logging_filter to true) as described in Part 1打开日志记录(将系统属性org.neo4j.rest.…

selector简介

最近在学习java NIO,发现java nio selector 相对 channel ,buffer 这两个概念是比较难理解的 ,把学习理解的东西以文字的东西记录下来,就像从内存落地到硬盘,把内存中内容换成该知识点的索引。 在介绍Selector之前先明确以下3个问题&#…

java随机数排序算法_理解快速排序算法

快速排序在平均状况下,排序n个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n^2)次比较,但这种状况并不常见。事实上,快速排序通常明显比 其他Ο(n log n)算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地…

开课吧视频内容汇总

1. 前端读取文件内容, FileReader对象 2. 用户联网状态 3. application/x-www-form-urlencoded 参数序列化 (具体借鉴jquery的$.param方法),后端接收到的数据格式是 a[0][a] 1,并不会将其整理成对象或者数组 var nextStr ;funct…

PhantomJS宣布终止开发

由于没有人贡献代码,我很快就要把这个项目归档了。也许未来的某一天,我又想开发了,还会重新启动起来。既然决定停止开发了,那么自然地,PhantomJS 2.5 和原定的 PhantomJS2.1.x 就告吹了。对应的,这两个版本…

Servlet和JSP中的文件上传示例

使用Servlet和JSP将文件上传到服务器是Java Web应用程序中的常见任务。 在对Servlet或JSP进行编码以处理文件上传请求之前&#xff0c;您需要了解一点有关HTML和HTTP协议中文件上传支持的知识。 如果要让用户从文件系统中选择文件并上传到服务器&#xff0c;则需要使用<inpu…

20165312-第4周-课上内容补做以及知识点总结

20165312-第4周-课上内容补做以及知识点总结 1、课上内容补做 教材代码完成情况测试p45这题很快就做完了&#xff0c;然后忘记提交了。。就开始做递归。想起来的时候已经过了时间。 public class Example3_7 {public static void main(String args[]) {int sum0,i,j;for(i1;i&l…

java入门就是死敲代码吗_JAVA入门第二季综合练习(直接思考敲的代码,面向过程,不好)...

package com.imocc;/*author ndh2016年3月27日 21:03:02*/import java.util.Scanner;public class DiDi {public static void main(String[] args){Scanner sc new Scanner(System.in);System.out.println("欢迎使用迪迪租车系统&#xff01;");System.out.println(…

JavaScript实现表单的全选,反选,获取值

构思 通过for循环和for in循环来实现&#xff0c;界面效果如下 步骤 全选&#xff1a; 循环给所有的表单设置checked 反选&#xff1a; 循环内判断checked是否为true&#xff0c;如果为true则改为false否则改为true 获取值&#xff1a; 最开始用for取&#xff0c;但是只打印最后…

jQuery.extend() 使用语法详解

今天在写插件&#xff0c;使用$.extend({}, defaults, options)的时候发现漏写了 {}&#xff0c;浪费了一些时间&#xff0c; 所以详细记录下该方法的 API 和使用。API 如下&#xff1a;jQuery.extend( [ deep ], target, [ object1 ], [ objectN ] )描述&#xff1a;合并两个或…

EJB钝化和激活示例

在本教程中&#xff0c;我们将了解状态Java企业会话Bean中激活和钝化的工作方式。 1.简介 有状态会话Bean通常保存有关特定客户端的信息&#xff0c;并在整个会话中保存该信息。 但是&#xff0c;事实是&#xff0c;客户端会话往往会在相当长的时间内保持活动状态&#xff0c;…

Python进阶_面对对象面对过程

这节主要讲面对对象与面对过程两种编程思想的主要区别。 一. 简单对比 面向过程是一种基础的方法&#xff0c;它考虑的是实际的实现步骤&#xff0c;一般情况下&#xff0c;面向过程是自顶向下逐步求精&#xff0c;其最重要的是模块化的思想方法。 面向对象的方法主要是把事物给…

puppet 安装mysql_Puppet安装dashboard

Puppet安装dashboard安装依赖包[rootmaster ~]# sudo yum install -y mysql mysql-devel mysql-server ruby ruby-devel ruby-irb ruby-mysql ruby-rdoc ruby-ri启动mysql并设置开机启动[rootmaster ~]# service mysqld start [rootmaster ~]# chkconfig mysqld on下载并安装…

命令模式详解

原文链接:https://www.cnblogs.com/java-my-life/archive/2012/06/01/2526972.html 在阎宏博士的《JAVA与模式》一书中开头是这样描述命令&#xff08;Command&#xff09;模式的&#xff1a; 命令模式属于对象的行为模式。命令模式又称为行动(Action)模式或交易(Transaction)模…