python
sun-zhu
此人不懒,但也什么都没有写
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
python 正则表达式(一) re模块match、search、findall、finditer 使用demo
'''正则表达式的功能全部在re模块上实现1)match函数:尝试从字符串的起始位置匹配一个模式,如果不是从起始位置匹配成功也返回Nonedef match(pattern, string, flags=0):patter:匹配的正则表达式string:要匹配的字符串flags:标志位,用于控制正则表达式的匹配方式 re.I -->忽略大小写(用的多) ...原创 2018-12-26 15:30:16 · 531 阅读 · 0 评论 -
python 对象动态添加方法
from types import MethodTypeclass Temp(): def __init__(self): passt = Temp()def methodAdd(self): print("这是要动态添加的方法")t.newMethod = MethodType(methodAdd,t)t.newMethod() ...原创 2018-12-24 16:52:24 · 588 阅读 · 0 评论 -
限制对象的属性,只能添加/使用给定的属性
#限制对象的属性,只能添加/使用给定的属性class Person(object): __slots__ = ("name" , "age" , "money")#__slots__是一个元组,其中的给定的属性不可修改原创 2018-12-24 17:03:08 · 522 阅读 · 0 评论 -
python 发送邮件
#发邮件的库import smtplib#邮件文本的库from email.mime.text import MIMETextSMTPserver = "smtp.163.com"#发邮件的地址Sender = "xxxxxx@163.com"#收件人的地址receiver = "xxxx@xx.com"#发邮箱的密码/授权密码password = "*******...原创 2018-12-24 18:36:17 · 198 阅读 · 0 评论 -
python pickle 引用对象的持久化保存
pickle提供了一个简单的持久化功能。可以将对象以文件的形式存放在磁盘上。pickle模块只能在python中使用,python中几乎所有的数据类型(列表,字典,集合,类等)都可以用pickle来序列化,pickle序列化后的数据,可读性差,人一般无法识别。------------------------------------------pickle.dump(obj, fil...原创 2018-12-25 18:41:49 · 378 阅读 · 0 评论 -
python map-reduce使用demo
'''map()和reduce()是python的内置哈函数map(fn,lsd)fn是函数lsd是序列功能:将转入的函数依次作用在序列中的每一个元素,并把结果作为新的Iterator返回'''#将单个字符转成对应的字面量整数#使用reduce函数,需要从functools模块引入,使用map函数不需要引入from functools import reducedef...原创 2018-12-25 22:13:19 · 184 阅读 · 0 评论 -
python filter使用demo
'''filter(fn,lsd)fn是函数lsd是序列功能:把传入的函数依次作用于序列的每个元素,根据返回的是True还是Fals决定是否保留该元素'''listNum = [1,2,3,4,5,6,7,8,9]#筛选偶数def getDouble(num): #保留偶数 if num%2 ==0: return True retu...原创 2018-12-25 22:38:15 · 194 阅读 · 0 评论 -
python 函数单元测试demo
myFun.py'''单元测试作用:用来对一个函数、一个类或者一个模块进行正确性校验测试结果:1.单元测试通过,说明我们测试的函数功能正常2.单元测试不通过,说明函数功能有BUG,要么测试条件输入有误'''def newSun(x,y): return x + ydef newSub(x,y): return x - ymyTest.py#单...原创 2018-12-26 10:13:15 · 898 阅读 · 0 评论 -
python 对类进行单元测试
文件1:person.pyclass Person(object): def __init__(self,name,age): self.name = name self.age = age def getAge(self): return self.age文件2:TestClass.pyimport unitte...原创 2018-12-26 10:39:45 · 503 阅读 · 0 评论 -
python 连接MySQL
1、cmd命令行启动MySQL服务2、cmd命令行安装三方库:pip install PyMysqlimport pymysql#连接数据库 #参数1:mysql服务所在主机的IP #参数2:用户名 #参数3:密码 #参数4:要连接的database名称coon = pymysql.connect("localhost","root","",...原创 2019-01-02 16:00:21 · 149 阅读 · 0 评论 -
python 连接redis
1、启动redis服务2、cmd命令行导入三方库pip install redisimport redisr = redis.StrictRedis(host="localhost",port=6379,password="sunz")'''#方法1:根据数据类型的不同,调用响应的方法#写#r.set("p11","good")#读print(r.get("p11...原创 2019-01-02 16:07:42 · 179 阅读 · 0 评论 -
python 多进程间通信 消息队列
import multiprocessingimport time#使用队列,将消息写进队列,需要的进程到队列取#队列由父进程创建,子进程共享队列def write(qe): print("启动子进程 write") for chr in ['A','B','C','D','E']: qe.put(chr) time.sleep(1)...原创 2018-12-28 20:47:01 · 1248 阅读 · 0 评论 -
python 多进程中父进程与子进程
1)子进程是从父进程中使用Process生成的,对子进程使用os.getppid()可以得到父进程的pid2)全局变量在多个进程中不能共享,在子进程中修改全局变量,对父进程没有影响 ...原创 2018-12-28 18:12:59 · 1562 阅读 · 0 评论 -
python 多进程使用demo
'''multiprocessing库跨平台版本的多进程模块,提供一个Process类来代表一个进程对象'''import multiprocessingimport timedef run(): while 1: print("第二进程") time.sleep(1)if __name__ == '__main__': prin...原创 2018-12-28 16:37:05 · 275 阅读 · 0 评论 -
python 正则表达式(二) 元字符使用规则
1)----------匹配单个字符与数字------. -->匹配除换行符以外的任意字符 [] -->[]是字符集合,表示匹配[]中所包含的任意一个字符[a-z] -->匹配任意小写字母[A-Z] -->匹配任意大写字母[0-9] -->...原创 2018-12-26 19:45:47 · 329 阅读 · 0 评论 -
python 遍历迭代器iteration与list的区别
在遍历集合时,从逻辑上来说使用iteration与list并没有什么区别,但是当集合的数据量比较大的时候,两者还是有区别的。list是以数组的形式存储数据,需要在内存中分配一块连续的空间,所以当集合的数据量比较大的时候可能分配不了足够的连续内存,这个时候最好是使用迭代器iteration保存数据 ...原创 2018-12-26 20:09:29 · 1632 阅读 · 1 评论 -
python 正则表达式(三)字符串处理
import re'''1)切割字符串时,不确定空格的个数,如:"sun today mood eath"'''str1 = "sun today mood eath"print(re.split(r" +",str1))'''2)字符串的替换和修改def sub(pattern, repl, string, count=0, flags=0)def ...原创 2018-12-26 21:14:03 · 485 阅读 · 0 评论 -
python 爬虫(一)urllib使用demo
import urllib.request#向指定的url地址发起请求,并返回服务器响应的数据(文件的对象)response = urllib.request.urlopen("http://www.baidu.com")#直接将文件写入指定路径,filePath = r"C:/Users/zyy/PycharmProjects/untitled/爬虫/mile1.html"re...原创 2018-12-27 12:54:29 · 225 阅读 · 0 评论 -
python 爬虫(二)使用代理模拟浏览器
import urllib.requestimport randomurl = "http://www.baidu.com"#建立一个代理列表,每次随机使用一个,防止被封IPagnetsList = [ "Mozilla/5.0 (iPad; U; CPU OS 4_2_1 like Mac OS X; zh-cn) AppleWebKit/533.17....原创 2018-12-27 12:57:57 · 498 阅读 · 0 评论 -
python 将json类型的字符串转换成字典 使用demo
我们从网页上抓取的很多数据都是json格式,保存下来也就是字符串格式,我们这时候如果使用字符串拼接或者正则表达式在json字符串中寻找信息是比较麻烦的。把json字符串转换成python中的字典,然后再使用字典查找。import json'''json:一种保存数据的格式作用:可以保存本地的json文件,也可以将json进行传输 通常将json称为轻量级的传输方式json文...原创 2018-12-27 16:48:24 · 1265 阅读 · 0 评论 -
python 爬虫(三)模拟post请求,爬取数据
import urllib.requestimport urllib.parseurl =r"http://www.baidu.com"#将要发送的数据合成一个字典#字典的键值在网页里找data = { "username":"1507", "password":"230063"}#对要发送的数据进行打包postData = urllib.parse.urlen...原创 2018-12-27 18:18:32 · 1891 阅读 · 0 评论 -
python 爬虫(四)抓取Ajax数据
import urllib.requestimport sslimport jsondef ajaxCrawler(url): headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 ...原创 2018-12-27 20:30:36 · 3289 阅读 · 0 评论 -
python 爬虫(五)爬取多页内容
import urllib.requestimport sslimport redef ajaxCrawler(url): headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Saf...原创 2018-12-27 22:12:44 · 5931 阅读 · 0 评论 -
python 爬虫 封装自己的常用方法
import urllibimport urllib.requestimport sslimport refrom collections import dequedef writeFile2Strs(url,topath): with open(topath,"w") as f: f.write(getHtmlBytes(url).decode("utf-8...原创 2018-12-28 16:07:53 · 575 阅读 · 0 评论
分享