引言logging的基本用法网上很多,这里就不介绍了。在引入正文之前,先来看一个需求:假设需要将某功能封装成类库供他人使用,如何处理类库中的日志?数年前在一个C#开发的项目中,我用了这样的方法:定义一个logging基类,所有需要用到日志的类都继承这个基类,这个基类中定义一个LogHandler事件,该事件用于实现具体的记录日志动作,同时可以通过将类A的LogHandler委托挂到类B的LogHandler上,实现将两个类的日志信息添加到一起。自从看了py
系统 2019-09-27 17:47:37 1709
要爬取的网站不需要登陆,没有反爬机制,操作很简单首先安装需要的程序包pipinstallrequestspipinstallbeautifulsoup4pipinstallxlwt具体的实现类GetInfo.py#信息实体类classproduct_info(object):serios=''#存放商品系列productActualPrice=''#存放商品成交价productOldPrice=''#存放商品面价detailString=''#存放商品详情
系统 2019-09-27 17:47:27 1709
#这是Python中的一个字典dic={'str':'thisisastring','list':[1,2,'a','b'],'sub_dic':{'sub_str':'thisissubstr','sub_list':[1,2,3]},'end':'end'}//这是javascript中的一个JSON对象json_obj={'str':'thisisastring','arr':[1,2,'a','b'],'sub_obj':{'sub_str':'t
系统 2019-09-27 17:47:24 1709
我是闲的没事干,2014过的太浮夸了,博客也没写几篇,哎~~~用这篇来记录即将逝去的2014python对各种数据库的各种操作满大街都是,不过,我还是喜欢我这种风格的,涉及到其它操作,不过重点还是对数据库的操作。呵~~Python操作Mysql首先,我习惯将配置信息写到配置文件,这样修改时可以不用源代码,然后再写通用的函数供调用新建一个配置文件,就命名为conf.ini,可以写各种配置信息,不过都指明节点(文件格式要求还是较严格的):复制代码代码如下:[a
系统 2019-09-27 17:47:24 1709
我会随便说,C++近年来开始"抄袭"Python么?我只会说,我在用C++来学习Python.不信?来跟着我学?字面量Python早在2.6版本中就支持将二进制作为字面量了1,最近C++14逐步成熟,刚刚支持这么干2:复制代码代码如下:staticconstintprimes=0b10100000100010100010100010101100;更不用说Python在1.5时代就有了rawstringliterals的概念3,咱们C++也不算晚,C++11
系统 2019-09-27 17:47:20 1709
1、介绍itertools是python的迭代器模块,itertools提供的工具相当高效且节省内存。使用这些工具,你将能够创建自己定制的迭代器用于高效率的循环。-无限迭代器itertools包自带了三个可以无限迭代的迭代器。这意味着,当你使用他们时,你要知道要的到底是最终会停止的迭代器,还是需要无限地迭代鞋去。(1)count(初值=0,步长=1):count迭代器会返回从传入的起始参数开始的均匀间隔的数值。count也可以接收指定的步长参数。我们来看一
系统 2019-09-27 17:47:20 1709
测试的过程中经常需要截取屏幕,通常的做法是使用手机自带的截屏功能,然后将截屏文件复制出来,这种方法的优点是不需要连接数据线就可截屏,缺点则是生成的截屏文件命名是随机命名的,复制出来也比较麻烦。另一种方法是使用PC端的手机助手类软件。这里使用python编写一个截屏的脚本,双击运行脚本就OK,截屏成功后会将截屏文件已当前时间命名,并保存在存放脚本的当前路径的screenshot文件夹下:#!/usr/bin/envpythonimportosimportti
系统 2019-09-27 17:47:18 1709
2019年7月3日早上,在百度AI开发者大会上,一个来自山西的青年,将一瓶矿泉水浇在了同样来自山西的李彦宏身上。可以回顾一下https://b23.tv/av57665929/p1,着实让人一惊,这么大的会议上既然让人这么容易接近大佬。(图片来源网络)OCR识别准备工作百度云真的是测试接口的天堂,免费接口很多,当然有量的限制,但个人使用是完全够用的,什么人脸识别、MQTT服务器、语音识别等等,应有尽有吧看看OCR识别免费的量第一步:创建一个文字识别的应用,
系统 2019-09-27 17:47:15 1709
Python命令行之旅:深入argparse(二)作者:HelloGitHub-ProdesireHelloGitHub的《讲解开源项目》系列,项目地址:https://github.com/HelloGitHub-Team/Article前言在上一篇“深入argparse(一)”的文章中,我们深入了解了argparse的包括参数动作和参数类别在内的基本功能,具备了编写一个简单命令行程序的能力。本文将继续深入了解argparse的进阶玩法,一窥探其全貌,助
系统 2019-09-27 17:47:15 1709
入栈出栈查看栈顶元素查看栈长度查看栈元素classStack():def__init__(self):self.stack=[]defpush(self,value):self.stack.append(value)returnTruedefpop(self):#先判断栈是否为空ifself.stack:item=self.stack.pop()returnitemelse:returnFalsedeftop(self):ifself.stack:retu
系统 2019-09-27 17:47:11 1709