装饰器基本概念大家都知道装饰器是一个很著名的设计模式,经常被用于AOP(面向切面编程)的场景,较为经典的有插入日志,性能测试,事务处理,Web权限校验,Cache等。Python语言本身提供了装饰器语法(@),典型的装饰器实现如下:@function_wrapperdeffunction():pass@实际上是python2.4才提出的语法糖,针对python2.4以前的版本有另一种等价的实现:deffunction():passfunction=func
系统 2019-09-27 17:45:57 1909
Python2中编码相关的问题很是让人蛋疼,特别是中文字符。比如本文所述的中文网页GBK编码的诡异问题。现象例如:盲录�氓��,其实网页里面正常的应该是会员分析接着上面的例子,会员这部分乱码通过repr()函数求值得到如下结果\xc3\xa4\xc2\xbc\xc2\x9a\xc3\xa5\xc2\x91\xc2\x98使用type()函数求值得到的结果为unicodeeval(repr())出来值为盲录�氓��通过查表上述6个汉字对应c3a4c2bcc2
系统 2019-09-27 17:45:40 1909
心血来潮写了个多线程抓妹子图,虽然代码还是有一些瑕疵,但是还是记录下来,分享给大家。Pic_downloader.py#-*-coding:utf-8-*-"""CreatedonFriAug0717:30:582015@author:Dreace"""importurllib2importsysimporttimeimportosimportrandomfrommultiprocessing.dummyimportPoolasThreadPooltype
系统 2019-09-27 17:38:32 1909
1、python多进程编程背景python中的多进程最大的好处就是充分利用多核cpu的资源,不像python中的多线程,受制于GIL的限制,从而只能进行cpu分配,在python的多进程中,适合于所有的场合,基本上能用多线程的,那么基本上就能用多进程。在进行多进程编程的时候,其实和多线程差不多,在多线程的包threading中,存在一个线程类Thread,在其中有三种方法来创建一个线程,启动线程,其实在多进程编程中,存在一个进程类Process,也可以使用
系统 2019-09-27 17:38:21 1909
在基于Internet的学校学籍管理系统开发过程中,遇到这么个问题:如何实现客户端多个表单域之间的数据动态更新?如下图所示,在同一个客户端页面有三个下拉列表表单域ListCollege、ListDepart、ListClass,分别从SQLServer数据库服务器端获得学校名称、系部名称、班级名称,其中前两项数据量较小,而班级名称这一项有上百个记录。
系统 2019-08-29 22:56:40 1909
图像可能在生成、传输或者采集过程中夹带了噪声,去噪声是图像处理中常用的手法。通常去噪声用滤波的方法,比如中值滤波、均值滤波。但是那样的算法不适合用在处理字符这样目标狭长的图像中,因为在滤波的过程中很有可能会去掉字符本身的像素。一个采用的是去除杂点的方法来进行去噪声处理的。具体算法如下:扫描整个图像,当发现一个黑色点的时候,就考察和该黑色点间接或者直接相连接的黑色点的个数有多少,如果大于一定的值,那就说明该点不是离散点,否则就是离散点,把它去掉。在考察相连的
系统 2019-09-27 17:56:42 1908
第一次python程序1、安装subilme2、新建一个文件夹来单独存放程序(建议)3、在文件夹里空白区域单击右键,选择新建文档4、在查看里勾选显示文件拓展名5、对刚才新建的文本文档重命名,改为xxx.py6、打开subilme软件,在左上角选择打开,找到刚才的xxx.py文件7、在subilme中编写程序,如图8、用快捷键Ctrl+s保存9、用windows+r键调出运行框,输入cmd,并确认10、用cd找到刚才编写的文件的位置,并运行
系统 2019-09-27 17:56:21 1908
之前想爬取一些淘宝的数据,后来发现需要登录,找了很多的资料,有个使用request的sessions加上cookie来登录的,cookie的获取在登录后使用开发者工具可以找到。不过这个登录后获得的网页的代码是静态的,获取动态网页还得另寻他法,一般需要的数据可以在网页的源码中得到,但是你知道的,有些动态加载的就不是那么简单了,而且我发现这样获得的源码中,有些想要获取的数据的格式是经过改动的,比如我要某个商品的具体链接,发现并不能直接使用。总体而言,这是一次失
系统 2019-09-27 17:54:47 1908
前言今天我们再说一下pytest框架和unittest框架相同的fixture的使用,了解unittest的同学应该知道我们在初始化环境和销毁工作时,unittest使用的是setUp,tearDown方法,那么在pytest框架中同样存在类似的方法,今天我们就来具体说明。先附上官方文档的一段说明1.每个级别的setup/teardown都可以多次复用2.如果相应的初始化函数执行失败或者被跳过则不会执行teardown方法3.在pytest4.2之前,xu
系统 2019-09-27 17:54:40 1908
项目中想使用以前的代码,或者什么样的需求致使你需要导入外部的包如果是web下,比如说django,那么你新建一个app,把你需要导入的说用东东,都写到这个app中,然后在setting中的app也配上基本就ok了如果是本地代码,可以有几种方式,1、这种最简单,也可能最不实用,将你的外部文件放到跟需要调用外部文件的文件同一个包下,同一目录folder------toinvoke.py------tobeinvoded.py这样在toinvoke.py中引入i
系统 2019-09-27 17:54:22 1908