随笔分类 -  python高级

摘要:1. 使用谷歌/火狐浏览器分析 在Web应用中,服务器把网页传给浏览器,实际上就是把网页的HTML代码发送给浏览器,让浏览器显示出来。而浏览器和服务器之间的传输协议是HTTP,所以: HTML是一种用来定义网页的文本,会HTML,就可以编写网页; HTTP是在网络上传输HTML的协议,用于浏览器和服 阅读全文
posted @ 2019-07-18 06:34 GeorgeXu 阅读(265) 评论(0) 推荐(0) 编辑
摘要:说明 Python中字符串前面加上 r 表示原生字符串, 与大多数编程语言相同,正则表达式里使用"\"作为转义字符,这就可能造成反斜杠困扰。假如你需要匹配文本中的字符"\",那么使用编程语言表示的正则表达式里将需要4个反斜杠"\\":前两个和后两个分别用于在编程语言里转义成反斜杠,转换成两个反斜杠后 阅读全文
posted @ 2019-07-18 06:33 GeorgeXu 阅读(1733) 评论(0) 推荐(0) 编辑
摘要:Python里数量词默认是贪婪的(在少数语言里也可能是默认非贪婪),总是尝试匹配尽可能多的字符; 非贪婪则相反,总是尝试匹配尽可能少的字符。 在"*","?","+","{m,n}"后面加上?,使贪婪变成非贪婪。 正则表达式模式中使用到通配字,那它在从左到右的顺序求值时,会尽量“抓取”满足匹配最长字 阅读全文
posted @ 2019-07-18 06:32 GeorgeXu 阅读(1571) 评论(0) 推荐(0) 编辑
摘要:search 需求:匹配出文章阅读的次数 运行结果: findall 需求:统计出python、c、c++相应文章阅读的次数 运行结果: sub 将匹配到的数据进行替换 需求:将匹配到的阅读次数加1 方法1: 运行结果: 方法2: 运行结果: 练习 从下面的字符串中取出文本 参考答案: split 阅读全文
posted @ 2019-07-18 06:31 GeorgeXu 阅读(704) 评论(0) 推荐(0) 编辑
摘要:示例1:$ 需求:匹配163.com的邮箱地址 运行结果: 完善后 运行结果: 阅读全文
posted @ 2019-07-18 06:30 GeorgeXu 阅读(36660) 评论(0) 推荐(1) 编辑
摘要:示例1:| 需求:匹配出0-100之间的数字 示例2:( ) 需求:匹配出163、126、qq邮箱 不是以4、7结尾的手机号码(11位) 提取区号和电话号码 示例3:\ 需求:匹配出<html>hh</html> 运行结果: 示例4:\number 需求:匹配出<html><h1>www.itcas 阅读全文
posted @ 2019-07-18 06:30 GeorgeXu 阅读(10513) 评论(0) 推荐(1) 编辑
摘要:匹配多个字符的相关格式 示例1:* 需求:匹配出,一个字符串第一个字母为大小字符,后面都是小写字母并且这些小写字母可有可无 运行结果: 示例2:+ 需求:匹配出,变量名是否有效 运行结果: 示例3:? 需求:匹配出,0到99之间的数字 运行结果: 示例4:{m} 需求:匹配出,8到20位的密码,可以 阅读全文
posted @ 2019-07-18 06:29 GeorgeXu 阅读(21355) 评论(0) 推荐(0) 编辑
摘要:匹配单个字符 在上一小节中,了解到通过re模块能够完成使用正则表达式来匹配字符串 本小节,将要讲解正则表达式的单字符匹配 示例1: . 运行结果: 示例2:[ ] 运行结果: 示例3:\d 运行结果: 阅读全文
posted @ 2019-07-18 06:28 GeorgeXu 阅读(5457) 评论(0) 推荐(0) 编辑
摘要:1. re模块的使用过程 2. re模块示例(匹配以itcast开头的语句) 运行结果为: 3. 说明 re.match() 能够匹配出以xxx开头的字符串 阅读全文
posted @ 2019-07-18 06:27 GeorgeXu 阅读(177) 评论(0) 推荐(0) 编辑
摘要:上面的url可以换为自己需要下载视频、音乐、图片等网址 阅读全文
posted @ 2019-07-18 06:26 GeorgeXu 阅读(399) 评论(0) 推荐(0) 编辑
摘要:运行结果 从上能够看到是先发送的获取baidu的相关信息,然后依次是itcast、itheima,但是收到数据的先后顺序不一定与发送顺序相同,这也就体现出了异步,即不确定什么时候会收到数据,顺序不一定 阅读全文
posted @ 2019-07-18 06:24 GeorgeXu 阅读(169) 评论(0) 推荐(0) 编辑
摘要:简单总结 阅读全文
posted @ 2019-07-18 06:23 GeorgeXu 阅读(180) 评论(0) 推荐(0) 编辑
摘要:greenlet已经实现了协程,但是这个还的人工切换,是不是觉得太麻烦了,不要捉急,python还有一个比greenlet更强大的并且能够自动切换任务的模块gevent 其原理是当一个greenlet遇到IO(指的是input output 输入输出,比如网络、文件操作等)操作时,比如访问网络,就自 阅读全文
posted @ 2019-07-18 06:22 GeorgeXu 阅读(546) 评论(0) 推荐(0) 编辑
摘要:安装方式 使用如下命令安装greenlet模块: 运行效果 阅读全文
posted @ 2019-07-18 06:19 GeorgeXu 阅读(178) 评论(0) 推荐(0) 编辑
摘要:协程是python个中另外一种实现多任务的方式,只不过比线程更小占用更小执行单元(理解为需要的资源)。 为啥说它是一个执行单元,因为它自带CPU上下文。这样只要在合适的时机, 我们可以把一个协程 切换到另一个协程。 只要这个过程中保存或恢复 CPU上下文那么程序还是可以运行的。 通俗的理解:在一个线 阅读全文
posted @ 2019-07-18 06:18 GeorgeXu 阅读(113) 评论(0) 推荐(0) 编辑
摘要:1. 生成器 利用迭代器,我们可以在每次迭代获取数据(通过next()方法)时按照特定的规律进行生成。但是我们在实现一个迭代器时,关于当前迭代到的状态需要我们自己记录,进而才能根据当前状态生成下一个数据。为了达到记录当前状态,并配合next()函数进行迭代使用,我们可以采用更简便的语法,即生成器(g 阅读全文
posted @ 2019-05-24 10:03 GeorgeXu 阅读(171) 评论(0) 推荐(0) 编辑
摘要:如何判断一个对象是否可以迭代 可以使用 isinstance() 判断一个对象是否是 Iterable 对象: 可迭代对象的本质 我们分析对可迭代对象进行迭代使用的过程,发现每迭代一次(即在for...in...中每循环一次)都会返回对象中的下一条数据,一直向后读取数据直到迭代了所有数据后结束。那么 阅读全文
posted @ 2019-05-24 09:49 GeorgeXu 阅读(181) 评论(0) 推荐(0) 编辑
摘要:import multiprocessing import os import time import random def copy_file(queue, file_name,source_folder_name, dest_folder_name): """copy文件到指定的路径""" f_ 阅读全文
posted @ 2019-05-24 09:40 GeorgeXu 阅读(191) 评论(0) 推荐(0) 编辑
摘要:当需要创建的子进程数量不多时,可以直接利用multiprocessing中的Process动态成生多个进程,但如果是上百甚至上千个目标,手动的去创建进程的工作量巨大,此时就可以用到multiprocessing模块提供的Pool方法。 初始化Pool时,可以指定一个最大进程数,当有新的请求提交到Po 阅读全文
posted @ 2019-05-24 09:33 GeorgeXu 阅读(162) 评论(0) 推荐(0) 编辑
摘要:Process之间有时需要通信,操作系统提供了很多机制来实现进程间的通信。 1. Queue的使用 可以使用multiprocessing模块的Queue实现多进程之间的数据传递,Queue本身是一个消息列队程序,首先用一个小实例来演示一下Queue的工作原理: 运行结果: 初始化Queue()对象 阅读全文
posted @ 2019-05-23 09:36 GeorgeXu 阅读(266) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示