原文地址python的多线程异步常用到queue和threading模块#!/usr/bin/envpython#-*-coding:UTF-8-*-importloggingimportqueueimportthreadingdeffunc_a(a,b):returna+bdeffunc_b():passdeffunc_c(a,b,c):returna,b,c#异步任务队列_task_queue=queue.Queue()defasync_call(fu
系统 2019-09-27 17:51:38 2274
image前言学过Python数据分析的朋友都知道,在可视化的工具中,有很多优秀的三方库,比如matplotlib,seaborn,plotly,Boken,pyecharts等等。这些可视化库都有自己的特点,在实际应用中也广为大家使用。plotly、Boken等都是交互式的可视化工具,结合Jupyternotebook可以非常灵活方便地展现分析后的结果。虽然做出的效果非常的炫酷,比如plotly,但是每一次都需要写很长的代码,一是麻烦,二是不便于维护。我
系统 2019-09-27 17:51:05 2274
最近要写一款基于被动式的漏洞扫描器,因为被动式是将我们在浏览器浏览的时候所发出的请求进行捕获,然后交给扫描器进行处理,本来打算自己写这个代理的,但是因为考虑到需要抓取https,所以最后找到Mitmproxy这个程序。安装方法:pipinstallmitmproxy接下来通过一个案例程序来了解它的使用,下面是目录结构sproxy|utils|__init__.py|parser.py|sproxy.pysproxy.py代码#coding=utf-8fro
系统 2019-09-27 17:50:22 2274
程序流Python解释器在其最简单的级别,以类似的方式操作,即从程序的顶端开始,然后一行一行地顺序执行程序语句。例如,清单1展示了几个简单的语句。当把它们键入Python解释器中(或者将它们保存在一个文件中,并作为一个Python程序来执行)时,读取语句的顺序是从左到右。当读到一个行结束符(比如换行符)时,Python解释器就前进到下一行并继续,直到没有了代码行。清单1.一个简单的Python程序>>>i=1>>>type(i)>>>l=[0,1,2,3,
系统 2019-09-27 17:49:43 2274
在python的BeautifulSoup4扩展库的使用过程中出现了TypeError:listindicesmustbeintegersorslices,notstr这个错误,这里就分析一下为什么会报错以及如何解决。这个错误的意思是'类型错误:list的索引必须是'integers'或者'slices'不能是'str'我出现错误的代码:#引入库frombs4importBeautifulSoup#读取页面soup=BeautifulSoup(open('
系统 2019-09-27 17:49:33 2274
目录1.单表查询2.多表查询1.单表查询单表查询语法:selectdistinct字段1,字段2...from表名where条件groupbyfieldhaving筛选orderbyfieldlimit限制条数关键字执行的优先级:fromwheregroupbyselectdistincthavingorderbylimit1.1简单查询1.select语句:select*from表;select字段,字段..from表;selectdistinct字段,
系统 2019-09-27 17:49:27 2274
元组是不可变的Python对象序列。元组的序列就像列表。唯一的区别是,元组不能被改变,即元组是不可被修改。元组使用小括号,而列表使用方括号。创建一个元组很简单,只要把不同的逗号分隔值,可以把括号中的这些逗号来分隔每个值。例如:tup1=('physics','chemistry',1997,2000);tup2=(1,2,3,4,5);tup3="a","b","c","d";空的元组写为含有两对称括号:tup1=();要元组中包含一个值,必须有一个逗号,
系统 2019-09-27 17:46:50 2274
列表是包含0个或多个对象应用的有序序列,列表的长度和内容都是可变的;列表没有长度限制,元素类型可以不同;所有元素放在一对方括号中,相邻元素之间用逗号分隔开。使用赋值运算符“=”创建列表如a-list=[‘physics’,‘chemistry’,2017,2.5]b-list=[‘wade’,3.0,81,[‘bosh’,‘haslem’]]c-list=[1,2,(3.0,‘helloworld!’)]d-list=[]e-list=list()使用列表
系统 2019-09-27 17:46:18 2274
有时候为了自动化测试网页,我们往往希望能够使用一些脚本语言控制浏览器.通过脚本模拟一些浏览器动作,然后测试得到的结果.这里,我们讲解一下如何使用Python语言控制Firefox浏览器.使用-marionette参数启动Firefox.比较简单的一种做法就是右键单击Firefox的桌面图标,然后选择属性,最后在命令一栏最后添加<空格>-marionette.为Python安装marionette_client库.命令为:pipinstallmarionet
系统 2019-09-27 17:37:52 2274
Struts2是MVC框架发展的最新阶段。Struts2从WebWork发展而来,而不是由Struts1演化而来,因此利用Struts2开发和部署应用程序有很多不同于Struts1的地方,尤其是在开发和部署Porlet方面,Struts2更是有着以往Portlet应用程序开发方式所无法比拟的优势。本文的目的就是通过在IBM的WebSpherePortalServer上开发和部署一个基于Struts2的Porlet应用,向读者介绍利用Struts2进行Por
系统 2019-08-29 23:18:25 2274