PIL:PythonImagingLibrary,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,但API却非常简单易用。由于PIL仅支持到Python2.7,加上年久失修,于是一群志愿者在PIL的基础上创建了兼容的版本,名字叫Pillow,支持最新Python3.x,又加入了许多新特性,因此,我们可以直接安装使用Pillow。32位的电脑环境安装pillow如果安装了Anaconda,Pillow就已经可用了。否则,需要在命令行下通过
系统 2019-09-27 17:47:01 2310
链表由一系列不必在内存中相连的结构构成,这些对象按线性顺序排序。每个结构含有表元素和指向后继元素的指针。最后一个单元的指针指向NULL。为了方便链表的删除与插入操作,可以为链表添加一个表头。删除操作可以通过修改一个指针来实现。插入操作需要执行两次指针调整。1.单向链表的实现1.1Node实现每个Node分为两部分。一部分含有链表的元素,可以称为数据域;另一部分为一指针,指向下一个Node。classNode():__slots__=['_item','_n
系统 2019-09-27 17:37:36 2310
上文已经讲到,Tcp连接池管理器为我们的应用进行了很多复杂的管理,比如功能服务器的调度(实现FS的负载均衡)、连接池的动态添加/移除、控制每个连接池的相关参数在UI上的显示等,并且连接池管理器与单个连接池拥有一样的接口ITcpPool。我们先回顾一下这个接口:1publicinterfaceITcpPool2{3RentStreamResultRentTcpStream(intpoolTypeKey,intserviceKey,outNetworkStre
系统 2019-08-29 23:36:45 2310
我的问题主要是下载时使用name=newString(name.getBytes(),"UTF-8");编码在本地好使,部署到服务器上乱码,于是改用了下面的代码:Stringcodedfilename=URLEncoder.encode("操作日志"+dateStrTemp+".xls","UTF8");response.setContentType("application/x-download");response.setHeader("Content
系统 2019-08-29 23:04:16 2310
还记得以前我利用小榕哥的WED+WIS入侵本地信息港的那篇文章吗?自从上次入侵之后,网站的管理员想尽了办法堵住了所有SQL注入漏洞,想通过SQL注入后台管理页面已经没有可能了。真是郁闷,但是转念一想,这正是一个练习技术的好机会,难道除了简单的工具利用外,我就没有其它的办法了吗?一定要想法子再次拿下这个站点。一、扫描,突现新曙光想来想去找不到什么好的办法,闲着也无事,于是习惯性的用X-scan扫描了一下与本地信息港(203.207.***.2)位于同一C
系统 2019-08-29 22:37:52 2310
输入,人与机器交流的第一环节。这里只说拼音输入法。它上手简单(会拼音+熟悉键盘即可),已是汉字输入的主流。相关介绍就不多说了,下面写写我想的输入法。我希望它更快更智能。本地支持命令行这是我很想要的。虽然很多输入法(加加、极点等)已经有“命令直通车”,但主要输入法还不能实现。命令行可以大大提高效率,我想只要有良好的设置向导,普通用户一样可以使用。比如:这时输入“txt”,就打开记事本了。在如输入“OC”(openC:/)则打C盘等。关于命令行的技巧很多,可以
系统 2019-08-29 22:32:36 2310
让我们再来回顾一下之前我们曾经用过的一张ActionLifeCycle的图:图中,我们可以发现,Struts2的Interceptor一层一层,把Action包裹在最里面。这样的结构,大概有以下一些特点:1.整个结构就如同一个堆栈,除了Action以外,堆栈中的其他元素是Interceptor2.Action位于堆栈的底部。由于堆栈"先进后出"的特性,如果我们试图把Action拿出来执行,我们必须首先把位于Action上端的Interceptor拿出来执行
系统 2019-08-29 22:25:43 2310
转载:http://java.chinaitlab.com/line/779789_2.htmlsynchronized关键字有两种用法。第一种就是在《使用Synchronized关键字同步类方法》一文中所介绍的直接用在方法的定义中。另外一种就是synchronized块。我们不仅可以通过synchronized块来同步一个对象变量。也可以使用synchronized块来同步类中的静态方法和非静态方法。synchronized块的语法如下:publicvo
系统 2019-08-12 09:30:02 2310
使用Map映射,index部分可以使用组件,也可以使用持久话类,本例使用来实现使用持久话类为map映射定义index数据库结构:CREATETABLE`team4`(`id`varchar(50)NOTNULL,`name`varchar(50)defaultNULL,PRIMARYKEY(`id`))ENGINE=InnoDBDEFAULTCHARSET=gb2312;CREATETABLE`member4`(`i
系统 2019-08-12 09:29:53 2310
转载自----http://agapple.iteye.com/blog/1038336背景前段时间一直在关注一些牛人的blog,主要的关注点在一些性能优化上,一些细小的jvm参数优化上。以前这一块一直是自己的弱项,把这段时间看的内容做一个记录。过程先认识一下几位大牛的http://rednaxelafx.iteye.com,http://kenwublog.com/,貌似都是taobao中间件团队的,blog文章都写的比较不错。JIT优化JIT全程:(J
系统 2019-08-12 09:29:38 2310
下午在用python将Linux的conf配置文件转化成字典dict时遇到了一个奇怪的问题,原先conf配置文件中没有注释行(以#开头的行),后来为了避免这种情况,添加了一个对以#开头的行删除的操作。实践结果颠覆了已有的认知,直接上代码示例。代码片段1#!/usr/bin/python#encoding:utf-8#-*-coding:utf8-*-importrelist_to_test=['#','#conf','NAME="Ubuntu"','VER
系统 2019-09-27 17:56:35 2309
目录常用代码片段及技巧自动选择GPU和CPU切换当前目录临时添加环境目录打印模型参数将tensor的列表转换为tensor内存不够debugtensormemory常用代码片段及技巧自动选择GPU和CPUdevice=torch.device('cuda'iftorch.cuda.is_available()else'cpu')#modelandtensortodevicevgg=models.vgg16().to(device)切换当前目录importo
系统 2019-09-27 17:55:40 2309
本文实例讲述了python多线程threading.Lock锁的用法实例,分享给大家供大家参考。具体分析如下:python的锁可以独立提取出来复制代码代码如下:mutex=threading.Lock()#锁的使用#创建锁mutex=threading.Lock()#锁定mutex.acquire([timeout])#释放mutex.release()锁定方法acquire可以有一个超时时间的可选参数timeout。如果设定了timeout,则在超时后通
系统 2019-09-27 17:54:53 2309
如下所示:'''@author:Jacobpc'''importosimportsysimportsubprocessdefget_process_id(name):child=subprocess.Popen(["pgrep","-f",name],stdout=subprocess.PIPE,shell=False)response=child.communicate()[0]returnresponsepid=get_process_id("pyth
系统 2019-09-27 17:51:27 2309
定时与邮件在这一关,我们希望为一般的爬虫程序新增两个实用性比较强的功能:第一是定时功能,即程序可以根据我们设定的时间自动爬取数据;第二是通知功能,即程序可以把爬取到的数据结果以邮件的形式自动发送到我们的邮箱。这两个功能可以让爬虫程序定时向我们汇报。试想一下,如果你是一位股票(或比特币)的持有者,你希望及时爬取股票(或比特币)每日的价格数据,方便你能及时卖出或买入,那每天都去启动一遍爬虫程序是极其不高效的。而此时,如果你的爬虫程序有定时和发送邮件功能,能自动
系统 2019-09-27 17:50:59 2309