
python
JackLiu16
stay hungry,stay young!
展开
-
python 模块,类和全局函数---命名空间;继承和装饰器总结
def plfir(): print("this is first")class examp(): def __init__(self,x=4,y=1): self.x=x self.y=y def lk(self): self.display() #调用本类中的方法,不要写成:display()不原创 2017-10-31 18:54:31 · 2351 阅读 · 0 评论 -
python生产者和消费者
创建一个“队列”对象import Queuemyqueue = Queue.Queue(maxsize = 10)Queue.Queue类即是一个队列的同步实现。队列长度可为无限或者有限。可通过Queue的构造函数的可选参数maxsize来设定队列长度。如果maxsize小于1就表示队列长度无限。将一个值放入队列中myqueue.put(10)调用队列对象的put()方法在原创 2018-01-04 23:42:45 · 756 阅读 · 0 评论 -
python subprocess
subprocess以及常用的封装函数当我们运行python的时候,我们都是在创建并运行一个进程。正如我们在Linux进程基础中介绍的那样,一个进程可以fork一个子进程,并让这个子进程exec另外一个程序。在Python中,我们通过标准库中的subprocess包来fork一个子进程,并运行一个外部的程序(fork,exec见Linux进程基础)。 subprocess包中定义有数个转载 2018-01-04 17:31:49 · 286 阅读 · 0 评论 -
Python标准库11 多进程探索 (multiprocessing包)
Python标准库11 多进程探索 (multiprocessing包)作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 在初步了解Python多进程之后,我们可以继续探索multiprocessing包中更加高级的工具。这些工具可以让我们更加便利地实现多进程。 进程池进程池 (Process Po转载 2018-01-04 01:36:03 · 249 阅读 · 0 评论 -
python multiprocessing进程执行自定义的函数,然后又返回结果
#coding=utf-8import multiprocessingdef test(strr): i = strr return iif __name__ == '__main__': p = multiprocessing.Pool(1) rslt = p.map(test,('world',)) print(rslt)进程池相关代码应该放在原创 2018-01-04 01:18:11 · 4226 阅读 · 1 评论 -
python 进程管道
#coding=utf-8import multiprocessing as muldef proc1(pipe): pipe.send('hello') print('proc1 rec:',pipe.recv())def proc2(pipe): print('proc2 rec:',pipe.recv()) pipe.send('hello, too原创 2017-12-29 18:25:27 · 558 阅读 · 0 评论 -
Python 线程threading中的deamon,join
当daemon被设置为True时,如果主线程退出,那么子线程也将跟着退出,反之,子线程将继续运行,直到正常退出。for t in tsk: t.start() t.join(1) join()无参数就是完全阻塞主线程,等待线程执行完 有参数就是说,在主线程等待一秒后就不阻塞线程了,继续执行主线程,这里的意思是一秒钟开一个线程原创 2017-12-27 23:57:21 · 632 阅读 · 0 评论 -
python爬虫爆破web表单
# -*- coding: utf-8 -*-#利用python 写的多线程爆破后台用户名+密码(自备字典),比较实用,即使是在信息安全这么重视的今天,#还是有人不加验证码或者异常访问限制之类的登陆验证方式,这样就很容易被弱口令爆破工具拿下,#(本代码仅限学习实用,禁止进行web攻击,不承担法律责任)import urllib2import urllibimport httplibi转载 2017-12-27 23:50:42 · 1889 阅读 · 0 评论 -
python中使用原始生态sql语句
使用原生sql的主要目的是解决一些很复杂的sql不能用ORM的方法写出的问题。Django中几种写原生sql的方式1.extra:结果集修改器,是吗一种提供额外查询参数的机制[python] view plain copy >>>> Book.objects.filter(publisher__name = '清华大学出版社').extra(where转载 2017-12-22 23:08:21 · 525 阅读 · 0 评论 -
python 操作mysql数据中fetchone()和fetchall()
fetchone() :返回单个的元组,也就是一条记录(row),如果没有结果 则返回 Nonefetchall() :返回多个元组,即返回多个记录(rows),如果没有结果 则返回 ()需要注明:在MySQL中是NULL,而在Python中则是None原创 2017-12-22 23:00:33 · 15678 阅读 · 2 评论 -
爬虫特殊场景
原创 2017-12-06 11:33:59 · 741 阅读 · 0 评论 -
python multiprocessing进程关键点
序.multiprocessingpython中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程。Python提供了非常好用的多进程包multiprocessing,只需要定义一个函数,Python会完成其他所有事情。借助这个包,可以轻松完成从单进程到并发执行的转换。multiprocessing支持子进程、通信和共享数据、执行不同形转载 2017-11-15 18:15:10 · 511 阅读 · 0 评论 -
python CPU密集型对IO密集型 多进程更优于多线程 GIL
CPU密集型和IO密集型最近在看Python的多线程,经常我们会听到老手说:“python下多线程是鸡肋,推荐使用多进程!”,但是为什么这么说呢?要知其然,更要知其所以然。所以有了下面的深入研究:首先强调背景:1、GIL是什么?GIL的全称是Global Interpreter Lock(全局解释器锁),来源是python设计之初的考虑,为了数据安全所做的决定。2、转载 2017-11-15 17:17:51 · 4538 阅读 · 2 评论 -
python Threading线程关键点
创建存储线程的队列,thread=[]将线程添加到队列中,t.setDaemon(True) 设置为守护进程等子进程进行完,父进程才继续执行t.start() 启动线程t.join() 队列中的子进程没执行完阻塞父进程 python中,默认情况下,t.setDaemon(False)为False(1)没有t.setDaemon(Tr...原创 2017-11-15 11:55:30 · 386 阅读 · 0 评论 -
python 数据处理基础
(2)Python 语法简介 ---- 类型转化int(x [,base ]) 将x转换为一个整数long(x [,base ]) 将x转换为一个长整数float(x ) 将x转换到一个浮点数complex(real [,imag ]) 创建一个复数str(x ) 将对象 x 转换为字符原创 2017-11-14 11:08:22 · 456 阅读 · 0 评论 -
爬虫
传统反爬虫手段1、后台对访问进行统计,如果单个IP访问超过阈值,予以封锁。这个虽然效果还不错,但是其实有两个缺陷,一个是非常容易误伤普通用户,另一个就是,IP其实不值钱,几十块钱甚至有可能买到几十万个IP。所以总体来说是比较亏的。不过针对三月份呢爬虫,这点还是非常有用的。2、后台对访问进行统计,如果单个session访问超过阈值,予以封锁。这个看起来更高级了一些,但是其实效果更差,原创 2017-11-08 22:10:35 · 364 阅读 · 0 评论 -
不同级别并发理解
4. 结论与分析4.1 Stackless Python毫无疑问,Stackless Python几乎有匪夷所思的并发性能,比其他方案快上几十倍,而且借助Stackless Python提供的channel机制,实现也相当简单。也许这个结果向我们部分揭示了沈仙人基于Stackless Python实现的Eurasia3能够提供相当于c语言效果的恐怖并发性能的原因。4.2 Py转载 2017-11-05 01:36:04 · 379 阅读 · 0 评论 -
python字符串连接导致效率问题
dictt = {}print id(dictt)dictt.setdefault("key","value")dictt.setdefault("key1","value")dictt.setdefault("key2","value")dictt.setdefault("key3","value")dictt.setdefault(&原创 2017-11-01 23:50:52 · 439 阅读 · 0 评论 -
python 处理底层数据
python 底层数据处理原创 2017-11-01 18:27:38 · 1075 阅读 · 0 评论 -
python 类装饰器和继承
类装饰器:被装饰器装饰的类的方法和属性集合,是装饰器中的方法和属性集合 的子集例子一:def myc(myclass): class InnerClass: def __init__(self,x,y,z): self.z=z self.x=x self.y=y原创 2017-10-31 22:01:27 · 3751 阅读 · 0 评论 -
python类
一、类定义:class : 类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性如果直接使用类名修改其属性,那么将直接影响到已经实例化的对象 类的私有属性:__private_attrs 两个下划线开头,声明该属性为私有,不能在类地外部被使用或直接访问在类内部的方法中使用时 self.__private_attrs 类的转载 2017-10-31 03:40:22 · 411 阅读 · 1 评论 -
python 类中变量 和局部变量和全局变量
z=9class dig(): def __init__(self,x,y): self.x=x self.y=y %2pdef pd(self,r): s=self.x+self.y+z+r#self.z=self.x+self.y+self.r AttributeError: dig instance has no att原创 2017-10-31 00:09:55 · 1771 阅读 · 0 评论 -
python 高阶函数和技巧
>>> foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]>>>>>> print filter(lambda x: x % 3 == 0, foo)[18, 9, 24, 12, 27]print [x for x in foo if x % 3 == 0]注意是中括号>>>>>> print map(lambda x: x * 2 + 1原创 2017-10-30 22:45:10 · 408 阅读 · 0 评论 -
产生子进程subprocess模块介绍
subprocess--子进程管理器一、subprocess 模块简介subprocess最早是在2.4版本中引入的。subprocess模块用来生成子进程,并可以通过管道连接它们的输入/输出/错误,以及获得它们的返回值。它用来代替多个旧模块和函数:os.systemos.spawn*os.popen*popen2.*commands.*关于这个模块可以转载 2017-10-27 17:49:18 · 353 阅读 · 0 评论 -
TCP_proxy tcp代理详解
#coding=utf-8import sysimport socketimport threadingdef server_loop(local_host, local_port, remote_host, remote_port, receive_first): server = socket.socket(socket.AF_INET, socket.SOCK_原创 2017-10-27 17:10:02 · 11071 阅读 · 0 评论 -
python构造IP包
#coding=utf-8import sysimport socketfrom impacket import ImpactDecoder, ImpactPacket def main(): if len(sys.argv) print "Use: %s " % sys.argv[0] print "Use: %s原创 2017-10-22 00:09:29 · 2364 阅读 · 0 评论 -
keyboard
#coding=utf-8 from ctypes import *import pythoncomimport pyHookimport win32clipboardimport urllibuser32 = windll.user32kernel32 = windll.kernel32psapi = windll.psapicurrent_window原创 2017-10-22 00:08:13 · 349 阅读 · 0 评论 -
socket
#coding=utf-8'''1.真正从网卡进来的数据是完整的以太网帧,底层用sk_buff 数据结构描述,最终进入接收缓冲区recv buffer,而我们应用层调用read / recv /recvfrom 从接收缓冲区拷贝数据到应用层提供的buffer,对一般的套接字,如SOCK_STREAM, SOCK_DGRAM 来说,此时缓冲区只有user data,其他各层的头部原创 2017-10-21 23:58:05 · 330 阅读 · 0 评论 -
python 格式输出
Python格式化输出今天写程序又记不清格式化输出细节了……= =索性整理一下。python print格式化输出。1. 打印字符串print ("His name is %s"%("Aviad"))效果:2.打印整数print ("He is %d years old"%(25))效果:3.打印浮点数print ("His转载 2017-10-21 11:50:18 · 1060 阅读 · 0 评论 -
Python2和Pyhton3编码问题
Python有两种不同的字符串,一种存储文本,一种存储字节。对于文本,Python内部采用Unicode存储,而字节字符串显示原始字节序列或者ASCIIhttps://blog.youkuaiyun.com/yanghuan313/article/details/63262477/ b' ' decode() u' ' u' ' e...原创 2017-10-13 23:59:41 · 813 阅读 · 0 评论 -
os 获取目录下的所有目录 和 目录下所有文件方法
获取目录下的所有目录(包括各子目录中的目录)import os i=0for root,dirs,files in os.walk('D:\Desktop'): for dir in dirs: print dir i+=1print i获取目录下所有文件方法(包括各子目录中的文件)import os i=0for root,dirs,files in os.wa...原创 2017-10-27 23:48:29 · 11513 阅读 · 0 评论 -
python time模块
import timeprint time.time()print time.localtime(time.time()) #time.localtime()print time.strftime('%Y-%m-%d-%H-%M-%S',time.localtime(time.time()))#time.strftime()print time.strftime('%y%m%d',tim转载 2018-01-24 22:13:17 · 243 阅读 · 0 评论 -
python 爬虫
import reimport requestsimport codecsimport timeimport randomfrom bs4 import BeautifulSoupabsolute = 'https://movie.douban.com/subject/26322642/comments'absolute_url = 'https://movie.douban.com转载 2018-01-24 23:51:18 · 255 阅读 · 0 评论 -
秒表
#coding=utf-8import timenum = 0 #onoff = Truedef p_time(h,m,s): print "%d:%d:%d"%(h,m,s)def format(): d = 0 h = 0 m = 0 s = 0 global num while True: num = tick() s原创 2018-01-18 10:25:40 · 432 阅读 · 0 评论 -
python 实时监控内存系统
一、监控文件monitor.pyimport timeimport MySQLdb as mysqldb = mysql.connect(user="reboot",passwd="reboot123",db="memory",host="localhost")db.autocommit(True)cur = db.cursor()def getMem(): with o转载 2017-12-31 18:11:17 · 2477 阅读 · 0 评论 -
处理log文件
#coding=utf-8import reimport osfileway = "D:\liujiaqi\Desktop\\test.txt"match = {}m1 = re.compile("flags")m2 = re.compile("inet")m3 = re.compile(":")storefline = []st = []stto = []with open原创 2018-01-29 23:53:32 · 612 阅读 · 0 评论 -
python 常用代码块
#coding:utf-8 #其实“8 位”只是显示一个字符需要的最小位数,而不是最大位数。import pymysql,re # 创建连接conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='root',db='liu')# 创建游标cur = conn.cursor() # 执行S原创 2017-12-25 18:13:55 · 2610 阅读 · 0 评论 -
关于windows x64安装MySQL-python失败解决
What are wheels? Wheels are the new standard of python distribution and are intended to replace eggs. Support is offered in pip >= 1.4 and setuptools >= 0.8. Advant...转载 2018-02-28 00:42:42 · 411 阅读 · 0 评论 -
有关 Python 2 和 Sublime Text 中文 Unicode 编码问题的分析与理解
TL;DR - 有关 Python 2 和 Sublime Text 中文 Unicode 编码问题的分析与理解 4 Sylv · 127 天前 · 2010 次点击这是一个创建于 127 天前的主题,其中的信息可能已经有所发展或是发生改变。TL;DR出处:http://blog.youkuaiyun.com/pfm685757/article/details/46056551问题背景:相信很多用 ...转载 2018-03-15 14:26:34 · 413 阅读 · 0 评论 -
ValueError: too many values to unpack (expected 2)
a = {'Time': '2017-09-19', 'News': '楚了何人之手。今日,楚天都市报'}for k,v in a: print('%s %s'%(k,v))返回了下面的错误:ValueError Traceback (most recent call last)<ipython-input-12-54...转载 2018-03-15 22:59:50 · 2100 阅读 · 0 评论