Python2中编码相关的问题很是让人蛋疼,特别是中文字符。比如本文所述的中文网页GBK编码的诡异问题。现象例如:盲录�氓��,其实网页里面正常的应该是会员分析接着上面的例子,会员这部分乱码通过repr()函数求值得到如下结果\xc3\xa4\xc2\xbc\xc2\x9a\xc3\xa5\xc2\x91\xc2\x98使用type()函数求值得到的结果为unicodeeval(repr())出来值为盲录�氓��通过查表上述6个汉字对应c3a4c2bcc2
系统 2019-09-27 17:45:40 1893
在介绍yield前有必要先说明下Python中的迭代器(iterator)和生成器(constructor)。一、迭代器(iterator)在Python中,for循环可以用于Python中的任何类型,包括列表、元祖等等,实际上,for循环可用于任何“可迭代对象”,这其实就是迭代器迭代器是一个实现了迭代器协议的对象,Python中的迭代器协议就是有next方法的对象会前进到下一结果,而在一系列结果的末尾是,则会引发StopIteration。任何这类的对象
系统 2019-09-27 17:38:45 1893
myPhoneBook2.py#!/usr/bin/python#-*-coding:utf-8-*-importreclassPhoneBook(object):'''这是一个电话簿脚本。该脚本能够实现AddContact:添加联系人信息ShowContact:查找姓名显示联系人SaveContacts:存储联系人到TXT文档(存储格式――姓名:号码/号码)LoadContacts:从txt文档中载入联系人'''def__init__(self):sel
系统 2019-09-27 17:38:30 1893
简单记一下python中List的sort方法(或者sorted内建函数)的用法。List的元素可以是各种东西,字符串,字典,自己定义的类等。sorted函数用法如下:sorted(data,cmp=None,key=None,reverse=False)其中,data是待排序数据,可以使List或者iterator,cmp和key都是函数,这两个函数作用与data的元素上产生一个结果,sorted方法根据这个结果来排序。cmp(e1,e2)是带两个参数的
系统 2019-09-27 17:38:23 1893
1、python多进程编程背景python中的多进程最大的好处就是充分利用多核cpu的资源,不像python中的多线程,受制于GIL的限制,从而只能进行cpu分配,在python的多进程中,适合于所有的场合,基本上能用多线程的,那么基本上就能用多进程。在进行多进程编程的时候,其实和多线程差不多,在多线程的包threading中,存在一个线程类Thread,在其中有三种方法来创建一个线程,启动线程,其实在多进程编程中,存在一个进程类Process,也可以使用
系统 2019-09-27 17:38:21 1893
半次元COS图爬取-写在前面今天在浏览网站的时候,忽然一个莫名的链接指引着我跳转到了半次元网站https://bcy.net/打开之后,发现也没有什么有意思的内容,职业的敏感让我瞬间联想到了cosplay,这种网站必然会有这个的存在啊,于是乎,我准备好我的大爬虫了。把上面的链接打开之后,被我发现了吧,就知道我的第八感不错滴。接下来就是找入口,一定要找到图片链接的入口才可以做下面的操作这个页面不断往下拖拽,页面会一直加载,当时当你拖拽一会,就停下来了,就是这
系统 2019-09-27 17:56:54 1892
目录第十五章、python中的进程操作-开启多进程一、multprocess模块二、multprocess.process模块三、Process()对象方法介绍四、Process()对象属性介绍五、使用process模块创建进程六、进程之间的数据隔离问题七、守护进程八、terminate方法九、pid和name属性第十五章、python中的进程操作-开启多进程一、multprocess模块multiprocess不是一个模块而是python中一个操作、管理
系统 2019-09-27 17:56:35 1892
pillowPillow是PIL的一个派生分支,但如今已经发展成为比PIL本身更具活力的图像处理库。pillow可以说已经取代了PIL,将其封装成python的库(pip即可安装),且支持python2和python3,目前最新版本是3.0.0。Pillow的Github主页:https://github.com/python-pillow/PillowPillow的文档(对应版本v3.0.0):https://pillow.readthedocs.org
系统 2019-09-27 17:56:31 1892
两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数x和y,计算它们之间的汉明距离。注意:0≤x,y<231.classSolution:defhammingDistance(self,x:int,y:int)->int:x_str=str(bin(x)).replace('0b','')y_str=str(bin(y)).replace('0b','')max_len=max(len(x_str),len(y_str))x_s
系统 2019-09-27 17:56:07 1892
一个简易的TCP端口扫描器,使用python3实现。需求:扫描目标网站开放哪些端口号,将所有开放的端口号输出。分析:使用socket连接,如果连接成功,认为端口开放,如果连接失败,认为端口关闭(有可能端口开放但连接失败,这里简单认为端口不开放)使用到的库:socket,threading过程:先定义一个函数,对给定的(ip,port)进行扫描,看其是否能连接成功。deftcpPortScan(ip,port,openPort):sock=socket.so
系统 2019-09-27 17:55:41 1892
本文实例讲述了python3实现的对象与json相互转换操作。分享给大家供大家参考,具体如下:1.python主要有三种数据类型:字典、列表、元组,其分别由花括号,中括号,小括号表示。例如:字典:dictData={'a':12,'b':34}列表:listData=[1,2,3,4]元组:tupleData=(1,2,3,4)2.使用json时,导入importjson即可3.python对象转json字符串,主要用到的函数:json.dumps()。例
系统 2019-09-27 17:54:24 1892
前言最近因为工作原因,发现一个Python的时间组件,很好用分享出来!(忘记作者名字了,在这里先感谢了),下面话不多说,来一起看看详细的介绍吧。示例代码:#-*-coding:utf-8-*-'''获取当前日期前后N天或N月的日期'''fromtimeimportstrftime,localtimefromdatetimeimporttimedelta,dateimportcalendaryear=strftime("%Y",localtime())mon
系统 2019-09-27 17:54:18 1892
废话不多说,直接上代码#Author:LancyWuproduct_list=[('Iphone',5800),('MacPro',9800),('Bike',800),('Watch',10600),('Coffee',31),('LancyPython',120)]#商品列表shopping_list=[]#定义一个列表来存储已购商品salary=input("请输入工资:")ifsalary.isdigit():#当输入的内容为数字salary=in
系统 2019-09-27 17:54:07 1892
Python中,队列是线程间最常用的交换数据的形式。Queue模块是提供队列操作的模块,虽然简单易用,但是不小心的话,还是会出现一些意外。创建一个“队列”对象importQueueq=Queue.Queue(maxsize=10)Queue.Queue类即是一个队列的同步实现。队列长度可为无限或者有限。可通过Queue的构造函数的可选参数maxsize来设定队列长度。如果maxsize小于1就表示队列长度无限。将一个值放入队列中q.put(10)调用队列对
系统 2019-09-27 17:53:36 1892
getpwname只能得到gid一个username。importpwdmyGroupId=pwd.getpwnam(username).pw_gidgetgroups只能获取groups脚本用户。importosmyGroupIds=os.getgroups()我怎么能得到所有groups的任意一个username,比如id-Gn命令?id-Gn`whoami`解决方案#!/usr/bin/envpythonimportgrp,pwduser="myna
系统 2019-09-27 17:53:36 1892