Python

简单介绍Python中利用生成器实现的并发编程

我们都知道并发(不是并行)编程目前有四种方式,多进程,多线程,异步,和协程。多进程编程在python中有类似C的os.fork,当然还有更高层封装的multiprocessing标准库,在之前写过的python高可用程序设计方法中提供了类似nginx中masterprocess和workerprocess间信号处理的方式,保证了业务进程的退出可以被主进程感知。多线程编程python中有Thread和threading,在linux下所谓的线程,实际上是LW

系统 2019-09-27 17:38:17 1907

编程技术

将jasper文件转化为报表输出的代码

不推荐用jsp,用servlet比较好,我这里有流程性的,你自己看着用吧,这东西用了2年,没发现问题。通用的导出类,支持html,Excel,PDF三种publicclassReportType...{publicstaticintHTML=1;publicstaticintEXCEL=2;publicstaticfinalintPDF=3;publicstaticvoidexport(HttpServletResponseresponse,JasperP

系统 2019-08-29 23:41:54 1907

编程技术

flash动画形变讨论二:低头

上次说了基本的形变,现在说下提示点,提示点是控制图形变化的基本,它是按照节点的位置移动来计算整个图形移动.一般来分是2个地方要加,1是移动位置和变化最小,主要作用是固定图形这个点是主要的.第2个就是移动和变化最大的点,我们一般看到的效果全靠这些点来控制.作为快速制作一般加第1种就可以了(前提是节点必须少),而第2种就要麻烦和耽误时间了,不过制作还是很快的.这里我在眼角,头发上各加了一个提示点(因为是快速制作其他地方没加)后来发现原来头发画的时候右边有个色块

系统 2019-08-29 22:23:44 1907

Python

的个数-python版本

#!/usr/bin/envpython#-*-coding:utf-8-*-#问题:给出一个字符串,分别输出该字符串中小写字母,大写字母,数字,以及其他字符串的个数chuan="aasdhauADSGFTHFTdbhi1224324汉字"len_lower=0len_upper=0len_digit=0foriinchuan:ifi.islower():len_lower+=1ifi.isupper():len_upper+=1ifi.isdigit()

系统 2019-09-27 17:56:34 1906

Python

Python并发编程之进程通信

'''进程间的通信'''"""multiprocessing模块支持进程间通信的两种主要形式:管道和队列都是基于消息传递实现的,"""frommultiprocessingimportQueueq=Queue(3)#put,get,put_nowait,get_nowait,full,emptyq.put(1)q.put(2)q.put(3)#q.put(1)#队列已经满了,再加程序就会一直停在这里,等待数据被别人取走,不取走就一直停在这##q.get(1

系统 2019-09-27 17:55:59 1906

Python

python实现多线程端口扫描

一个简易的TCP端口扫描器,使用python3实现。需求:扫描目标网站开放哪些端口号,将所有开放的端口号输出。分析:使用socket连接,如果连接成功,认为端口开放,如果连接失败,认为端口关闭(有可能端口开放但连接失败,这里简单认为端口不开放)使用到的库:socket,threading过程:先定义一个函数,对给定的(ip,port)进行扫描,看其是否能连接成功。deftcpPortScan(ip,port,openPort):sock=socket.so

系统 2019-09-27 17:55:41 1906

Python

python使用sessions模拟登录淘宝的方式

之前想爬取一些淘宝的数据,后来发现需要登录,找了很多的资料,有个使用request的sessions加上cookie来登录的,cookie的获取在登录后使用开发者工具可以找到。不过这个登录后获得的网页的代码是静态的,获取动态网页还得另寻他法,一般需要的数据可以在网页的源码中得到,但是你知道的,有些动态加载的就不是那么简单了,而且我发现这样获得的源码中,有些想要获取的数据的格式是经过改动的,比如我要某个商品的具体链接,发现并不能直接使用。总体而言,这是一次失

系统 2019-09-27 17:54:47 1906

Python

python pytest进阶之xunit fixture详解

前言今天我们再说一下pytest框架和unittest框架相同的fixture的使用,了解unittest的同学应该知道我们在初始化环境和销毁工作时,unittest使用的是setUp,tearDown方法,那么在pytest框架中同样存在类似的方法,今天我们就来具体说明。先附上官方文档的一段说明1.每个级别的setup/teardown都可以多次复用2.如果相应的初始化函数执行失败或者被跳过则不会执行teardown方法3.在pytest4.2之前,xu

系统 2019-09-27 17:54:40 1906

Python

python3 模拟登录v2ex实例讲解

闲的无聊。。。网上一堆,正好练手(主要是新手)#coding=utf-8importrequestsfrombs4importBeautifulSoupheaders={'user-agent':'Mozilla/5.0(WindowsNT6.1;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/56.0.2924.87Safari/537.36','origin':'https://www.v2ex.

系统 2019-09-27 17:54:30 1906

Python

LeetCode 腾讯50题Python实现之《二叉树中的最大路径》

题目给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。示例1:输入:[1,2,3]1/\23输出:6示例2:输入:[-10,9,20,null,null,15,7]-10/\920/\157输出:42思路关键是要求出,某一个根节点到某个子节点的最长路径是多少。最后的结果一定是某一个根节点的值加上它左右子树的那个最长路径。代码如下,代码ref:https://le

系统 2019-09-27 17:54:00 1906

Python

简单了解python高阶函数map/reduce

高阶函数map/reducePython内建了map()和reduce()函数。我们先看map。map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。举例说明,比如我们有一个函数f(x)=x2,要把这个函数作用在一个list[1,2,3,4,5,6,7,8,9]上,就可以用map()实现如下:现在,我们用Python代码实现:deff(x):returnx*xr=m

系统 2019-09-27 17:53:59 1906

Python

python2和python3实现在图片上加汉字

文章目录Python2在图片上加汉字代码实现Python3在图片上加汉字代码实现遇到的问题python2和python3实现在图片上加汉字,最主要的区别还是内部编码方式不一样导致的,在代码上表现为些许的差别。理解了内部编码原理也就不会遇到这些问题了,以下代码是在WIN10系统上时测好用的。Python2在图片上加汉字代码实现#-*-coding:cp936-*-importcv2importnumpyasnpfromPILimportImage,Image

系统 2019-09-27 17:53:47 1906

Python

Python lambda和Python def区别分析

Python支持一种有趣的语法,它允许你快速定义单行的最小函数。这些叫做lambda的函数,是从Lisp借用来的,可以用在任何需要函数的地方。lambda的语法时常会使人感到困惑,lambda是什么,为什么要使用lambda,是不是必须使用lambda?>>>deff(x):...returnx+2...>>>f(1)3>>>f=lambdax:x+2>>>f(1)3>>>(lambdax:x+2)(1)3Pythondef和Pythonlambda它们有

系统 2019-09-27 17:53:35 1906

Python

Python进阶之路 3.4.5 断言

3.4.5断言断言(assertions)的使用方式类似于if语句,只是在不满足条件时,会直接抛出异常。类似于下面的if语句(伪代码)ifnotcondition:#如果不满足条件,会直接抛出异常,程序会中断crashprogram那么究竟为什么需要这样的代码呢?主要原因为需要检测程序在某个地方是否满足条件,如果不满足条件,应该及时通知开发人员,而不是将这些bug隐藏起来,知道关键的时候在崩溃。其实在TDD中经常使用断言,TDD会在程序发现异常时执行断言,

系统 2019-09-27 17:52:20 1906