拥有Python标签的文章
Python

python快速生成验证码

利用python库random,string生成大小写字母和数字的随机验证码importrandomimportstringdefgenerate_code(bit_num):''':parambit_num:生成验证码位数:return:返回生成的验证码'''all_str=string.printable.split('!')[0]code=''.join([random.choice(all_str)foriinrange(bit_num)])ret

系统 2019-09-27 17:54:02 2080

Python

python面试题:range与xrange的区别,使用range有什么风险

range([start],[end],[long])描述:根据range里的参数生成指定范围指定步长的一个序列参数:[start]——指定范围的左边界,可取到[end]——指定范围的右边界,不可取到[long]——步长,若无步长,默认为1返回值:列表实例:>>>range(0,6,2)[0,2,4]>>>range(5)[0,1,2,3,4]xrange()描述:用法与range完全相同,生成的不是数组,而是一个生成器实例:>>>xrange(0,6,2

系统 2019-09-27 17:54:01 2080

Python

python的debug实用工具 pdb详解

叨逼叨首先,介绍一下pdb调试,pdb是python的一个内置模块,用于命令行来调试Python代码。或许你会说,现在用Pycharm等编辑器来调试代码很方便,为啥要用命令行呢?这个问题,我曾经也这么想,直到有一次,代码必须要在Linux系统上跑(现在Pycharm也可以远程调试代码了,今天先不说这个)使用介绍如何添加断点?说到debug,肯定是要添加断点的,这里有两种方式添加断点:在想要断点代码后添加一行pdb.set_trace()若是使用这种方式,直

系统 2019-09-27 17:53:53 2080

Python

轻松理解Python 中的 descriptor

定义通常,一个descriptor是具有“绑定行为”的对象属性。所绑定行为可通过descriptor协议被自定义的__get__(),__set__()和__delete__()方法重写。如果一个对象的上述三个方法任意一个被重写,则就可被称为descriptor。属性的默认操作是从对象字典中获取、设置和删除一个属性。例如,a.x有一个查找链,先a.__dict__['x'],若没有则type(a).__dict__['x'],若没有增往上查找父类直到元类。

系统 2019-09-27 17:53:41 2080

Python

Python中eval带来的潜在风险代码分析

0x00前言eval是Python用于执行python表达式的一个内置函数,使用eval,可以很方便的将字符串动态执行。比如下列代码:>>>eval("1+2")>>>eval("[xforxinrange(10)]")[0,1,2,3,4,5,6,7,8,9]当内存中的内置模块含有os的话,eval同样可以做到命令执行:>>>importos>>>eval("os.system('whoami')")win-20140812chj\administrat

系统 2019-09-27 17:53:02 2080

Python

Python 命令行之旅:使用 argparse 实现 git 命令

Python命令行之旅:使用argparse实现git命令作者:HelloGitHub-ProdesireHelloGitHub的《讲解开源项目》系列,项目地址:https://github.com/HelloGitHub-Team/Article前言在前面三篇介绍argparse的文章中,我们全面了解了argparse的能力,相信不少小伙伴们都已经摩拳擦掌,想要打造一个属于自己的命令行工具。本文将以我们日常工作中最常见的git命令为例,讲解如何使用arg

系统 2019-09-27 17:52:36 2080

Python

Python 装饰器实现DRY(不重复代码)原则

Python装饰器是一个消除冗余的强大工具。随着将功能模块化为大小合适的方法,即使是最复杂的工作流,装饰器也能使它变成简洁的功能。例如让我们看看Djangoweb框架,该框架处理请求的方法接收一个方法对象,返回一个响应对象:defhandle_request(request):returnHttpResponse("Hello,World")我最近遇到一个案例,需要编写几个满足下述条件的api方法:返回json响应如果是GET请求,那么返回错误码做为一个注

系统 2019-09-27 17:52:01 2080

Python

千万不要错过这几道Python面试题,Python面试题No16

第1题:python下多线程的限制以及多进程中传递参数的方式?python多线程有个全局解释器锁(globalinterpreterlock),简称GIL,这个GIL并不是python的特性,他是只在Cpython解释器里引入的一个概念,而在其他的语言编写的解释器里就没有这个GIL例如:Jython。这个锁的意思是任一时间只能有一个线程运用解释器,跟单cpu跑多个程序一个意思,我们都是轮着用的,这叫“并发”,不是“并行”。为什么会有GIL?多核CPU的出现

系统 2019-09-27 17:50:37 2080

Python

Python 经典面试题 21 道【不可错过】

到底什么是Python?•Python是一种解释性语言。Python代码在运行之前不需要编译。其它解释性语言还包括PHP和Ruby。•Python是动态类型语言,指的是在声明变量时,不需要说明变量的类型。•Python非常适合面向对象的编程(OOP),因为它支持通过组合(composition)与继承(inheritance)的方式定义类(class)。•Python中没有访问说明符(类似C++中的public和private),这么设计的依据是“大家都是

系统 2019-09-27 17:50:35 2080

Python

Python字符串大小写转换拼接删除空白

1.字符串大小写转换string.title()#将字符串中所有单词的首字母以大写形式显示string.upper()#将字符串中所有字母转化为大写字母string.lower()#将字符串中所有字母转化为小写字母str="helloworld!"print(str.title())HelloWorld!print(str.upper())HELLOWORLD!print(str.lower())helloworld!2.字符拼接python中只用使用'+

系统 2019-09-27 17:50:30 2080

Python

Python的互斥锁与信号量

并发与锁a.多个线程共享数据的时候,如果数据不进行保护,那么可能出现数据不一致现象,使用锁,信号量、条件锁b.c.互斥锁1.互斥锁,是使用一把锁把代码保护起来,以牺牲性能换取代码的安全性,那么Rlock后必须要relase解锁不然将会失去多线程程序的优势2.互斥锁的基本使用规则:1importthreading2#声明互斥锁3lock=threading.Rlock();4defhandle(sid):#功能实现代码5lock.acquire()#加锁6#

系统 2019-09-27 17:48:09 2080

Python

用Python和Pandas以及爬虫技术统计历史天气

背景最近在计划明年从北京rebase到深圳去,所以最近在看深圳的各个方面。去年在深圳呆过一段时间,印象最深的是,深圳总是突然就下雨,还下好大的雨。对于我这种从小在南方长大但是后面又在北京呆了2年多的人来说,熟悉而又无奈。今天早上本来想随便浏览浏览一个天气网站,看看深圳的历史天气如何的,但是,一不小心发现,这家网站竟然直接能用API来抓数据,这~~~还不抓一波,省的自己一个月一个月地看。先上最后的效果图:所有的code都在我的GitHub上:boydfd下面

系统 2019-09-27 17:47:57 2080

Python

Python3 使用pillow库生成随机验证码

Python3使用pillow库生成随机验证码的代码如下所示:importrandom#pillow包的使用fromPILimportImage,ImageDraw,ImageFont,ImageFilter#Image负责处理图片#ImageDraw负责处理画笔#ImageFont负责处理文字#ImageFilter负责处理路径img=Image.new('RGB',(150,50),(255,255,255))#建立一个图片'''RGB:表示采用RGB

系统 2019-09-27 17:47:55 2080

Python

python调用短信猫控件实现发短信功能实例

python调用短信猫控件实现发短信功能实例代码如下所示:#!/usr/bin/envpython#coding=gbkimportsysimportwin32com.clientocxname='ShouYan_SmsGate61.Smsgate'axocx=win32com.client.Dispatch(ocxname)axocx.CommPort=8#设置COM端口号axocx.SmsService='+8613800100500'#设置短信服务号

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

Python

Python操作Mongodb数据库的方法小结

本文实例讲述了Python操作Mongodb数据库的方法。分享给大家供大家参考,具体如下:一导入pymongofrompymongoimportMongoClient二连接服务器端口号27017连接MongoDB连接MongoDB我们需要使用PyMongo库里面的MongoClient,一般来说传入MongoDB的IP及端口即可,第一个参数为地址host,第二个参数为端口port,端口如果不传默认是27017。conn=MongoClient("local

系统 2019-09-27 17:47:42 2080