花下猫语: 近日,Python 之父在 Medium 上开通了博客,并发布了一篇关于 PEG 解析器的文章(参见我翻的 全文译文).据我所知,他有自己的博客,为什么还会跑去 Medium 上写文呢?好奇之下,我就打开了他的老博客. 最后一篇文章写于 2018 年 5 月,好巧不巧,写的竟是 pgen 解析器,正是他在新文中无情地吐槽的.说将要替换掉的 pgen .在这篇旧文里,Guido 回忆了他创造 pgen 时的一些考量,在当时看来,创造一个新的解析器无疑是明智的,只不过时过境迁,现在有了更…
花下猫语: Guido van Rossum 是 Python 的创造者,虽然他现在放弃了"终身仁慈独裁者"的职位,但却成为了指导委员会的五位成员之一,其一举一动依然备受瞩目.近日,他开通了 Medium 账号,并发表了第一篇文章,透露出要替换 Python 的核心部件(解析器)的想法.这篇文章分析了当前的 pgen 解析器的诸多缺陷,并介绍了 PEG 解析器的优点,令人振奋.这项改造工作仍在进行中,Guido 说他还会写更多相关的文章,我们就拭目以待吧. 本文原创并首发于公众号[Py…
花下猫语: Python 之父在 Medium 上开了博客,现在写了两篇文章,本文是第二篇的译文.前一篇的译文 在此 ,宣布了将要用 PEG 解析器来替换当前的 pgen 解析器. 本文主要介绍了构建一个 PEG 解析器的大体思路,并介绍了一些基本的语法规则.根据 Python 之父的描述,这个 PEG 解析器还是一个很笼统的实验品,而他也预告了,将会在以后的系列文章中丰富这个解析器. 阅读这篇文章就像在读一篇教程,虽然很难看懂,但是感觉很奇妙:我们竟然可以见证 Python 之父如何考虑问题.…
python模块介绍- HTMLParser 简单的HTML和XHTML解析器 2013-09-11 磁针石 #承接软件自动化实施与培训等gtalk:ouyangchongwu#gmail.comqq 37391319 #博客:http://blog.csdn.net/oychw #版权所有,转载刊登请来函联系 # 深圳测试自动化python项目接单群113938272深圳广州软件测试开发 6089740 #深圳湖南人业务户外群 66250781武冈洞口城步新宁乡情群49494279 #参考资料…
使用python,喜欢她的简洁是一方面,另外就是它有着丰富的开发包 好用又方便 接下来会给大家推荐一系列很赞的开发包. 在解析html.xml过程中,我们有不少的包可以用.比如bs.lxml.xmltodict等 如果说你想立即上手,那么pyquery必然是最佳之选. 从名字上就可以看出,她一定和jQuery有着一定的关系 在官方网站上就是这样描述它的 pyquery: a jquery-like library for python 没错,作者就是将html.xml的解析接口封装成了类似jQu…
原题 | Left-recursive PEG grammars 作者 | Guido van Rossum(Python之父) 译者 | 豌豆花下猫("Python猫"公众号作者) 声明 | 本翻译是出于交流学习的目的,基于 CC BY-NC-SA 4.0 授权协议.为便于阅读,内容略有改动. 我曾几次提及左递归是一块绊脚石,是时候去解决它了.基本的问题在于:使用递归下降解析器时,左递归会因堆栈溢出而导致程序终止. [这是我的 PEG 系列的第 5 部分.其它文章参见这个目录] 假设…
在Guido van Rossum(吉多·范罗苏姆)卸任BDFL(“终身仁慈独裁者”)一职半年多之后,Python社区迎来了新的治理新方案:指导委员会模式,而经过投票Guido van Rossum也成为五大指导委员之一,Python之父Guido重回决策层. BDFL:全称是 Benevolent Dictator For Life(终身仁慈独裁者),该位置被赋予绝对的最终决策权,因为龟叔具有PEP的最终决策权,而反观PHP改进则全部是由社区投票决定,所以被称为”独裁者“:而“仁慈“这一词说明…
原题 | Generating a PEG Parser 作者 | Guido van Rossum(Python之父) 译者 | 豌豆花下猫("Python猫"公众号作者) 声明 | 本翻译是出于交流学习的目的,基于 CC BY-NC-SA 4.0 授权协议.为便于阅读,内容略有改动. 首发地址:https://mp.weixin.qq.com/s/ojSq6u9FC0xlBDncuoKczw 我已经在本系列第二篇文章中简述了解析器的基础结构,并展示了一个简单的手写解析器,根据承诺,…
龟叔和他的python 经过了漫长的旅程,终于要看到主角Python了.Python是现在非常非常流行的编程语言,在我们能看到的大部分编程语言排行榜中,Python都能在前三甲中拥有一席之地 ,并且发展势头非常之猛,可以这么说Python是一门非常非常有前途的语言. 那么Python到底是一个什么样的语言呢?今天我们就来一起了解一下.吉多·范罗苏姆,是一位荷兰的程序员,被中国程序员戏称为龟叔.他就是传说中的Python之父.也正是这样一个人设计创造了Python这个编程语言. ▲ Guido V…
Python 支持 lambda 匿名函数,其扩展的 BNF 表示法是lambda_expr ::= "lambda" [parameter_list] ":" expression ,也就是 lambda 参数序列:表达式. 这是一种便捷的函数定义方式,若翻译成我们熟知的函数形式,会是这个样子: def <lambda>(parameter_list): return expression 也就是说,Python 中的 lambda 函数是一种可接收多…
Python之父Guido在最近一次采访的最后说了啥? 在前些天的一次采访中,被问到Python未来发展方向的时候原文在infoworld,咱们可爱的python老爹Guido是这样说的: One thing I want to point out are the SciPy and NumPy movements. Those people are introducing Python as a replacement for MatLab. It's open source, it's be…
春节假期结束了,大家陆续地重回到原来的生活轨道上.假期是一个很好的休息与调节的机会,同时,春节还有辞旧迎新的本意,它是新的轮回的开端. 在 Python 社区里,刚发生了一件大事,同样有开启新纪元的意义:在"Python 之父" Guido van Rossum 宣布卸任 BDFL(终身仁慈独裁者)后,Python 核心开发者们历经半年多的时间,终于为新的治理方案选出了第一届的“执政成员”. 2 月 4 日,经过为期 2 周的投票,Python 社区选出了第一届的指导委员会的 5 名成…
Python 之父讲述退位原因,以及 Python 的未来将何去何从. ​ 在 Python 社区,Python 的发明者 Guido Van Rossum 被称为 “仁慈的终生独裁者”(BDFL,Benevolent Dictator for Life).今年 7 月 12 日的时候他突然宣布退位了.消息一出,一时间震惊了整个 Python 世界.当时他以 PEP 572 改进提案的争吵事件为例,表明其退出缘由.Guido van Rossum 于 1990 年发明 Python,他相信 Py…
一.缘起 前不久,我在翻译 Guido van Rossum(Python之父)的文章时,给他留言,申请非商业用途的翻译授权. 过程中起了点小误会,略去不表,最终的结果是:他的文章以CC BY-NC-SA 4.0 许可协议进行授权.部分对话如下: CC 协议是一种授权许可协议,我曾看到过几次,但了解不多,所以便查阅了相关的内容. 本文主要是作个记录,既是加深自己的理解,也给有需要的同学一个参考. 二.著作权.著佐权与自由版权 对于知识产权,通常有如下几种说法: All Rights Reserv…
原题 | Adding Actions to a PEG Grammar 作者 | Guido van Rossum(Python之父) 译者 | 豌豆花下猫("Python猫"公众号作者) 声明 | 本翻译是出于交流学习的目的,基于 CC BY-NC-SA 4.0 授权协议.为便于阅读,内容略有改动. 如果你在语法规则中还可以添加(某些)语义,那么语法就会更好.特别是对于我正在构建的 Python 解析器,我需要控制每个备选项返回的 AST 节点,因为 AST 的格式已经规定好. […
原题 | A Meta-Grammar for PEG Parsers 作者 | Guido van Rossum(Python之父) 译者 | 豌豆花下猫("Python猫"公众号作者) 声明 | 本翻译是出于交流学习的目的,基于 CC BY-NC-SA 4.0 授权协议.为便于阅读,内容略有改动.本系列的译文已在 Github 开源,项目地址:https://github.com/chinesehuazhou/guido_blog_translation 本周我们使解析器生成器完成…
​ 就在不久前,kite——那个能够自己编写python代码的AI,Python 之父 Guido van Rossum 使用之后,也发出了「really love」感叹,向大家墙裂推荐了这一高效工具.莫非程序员离“失业”又迈进了一步吗?要想知道这个答案,首先得看看kite的代码编写究竟能做到何种程度. ​ 1 什么是Kite 最新的kite是一款桌面应用程序,可以与现有的编辑器和终端进行集成化.并行运行,你可以将kite视为IDE的一个插件,它以大量的云端代码为基础,使用机器学习进行训练,从而…
Java技术栈 www.javastack.cn 优秀的Java技术公众号 Python 之父 Guido van Rossum 在推特公布了自己从 Dropbox 公司离职的消息,并表示已经退休. 他还提到自己在 Dropbox 担任工程师期间学到了很多东西 -- Python 的类型注解(Type Annotations)正是来自在这里的工作经验. Dropbox 的官网公告也佐证了这一消息,并特意撰写长文以感谢 Guido 在 Dropbox 任职期间所做的贡献. Guido 在 Drop…
大概在半年前,我偶然看到一篇文章,有人提出了给 Python 提速 5 倍的计划,并在寻找经费赞助.当时并没有在意,此后也没有看到这方面的消息. 但是,就在 5 月 13 日"2021 年 Python 语言峰会"上,Python 之父 Guido van Rossum 作了一场<Making CPython Faster >的分享,他已经投入了这项计划! 据 Guido 爆料,他因为"退休"无聊,申请加入了微软,因此组建起一个小团队.目前成员除了他还有…
这是我在python-ideas上发布的一些东西,但我认为这些很有趣,应该分享给更多的人. 最近有很多关于合并两个dict(词典)的运算符的讨论. 这促使我思考为什么有些人喜欢运算符,我想起了30多年前与导师Lambert Meertens的一次讨论. 对于数学家来说,运算符对于他们的思考方式至关重要.我们来选取一个简单的操作,比如将两个数相加,并尝试研究它的一些行为. add(x, y) == add(y, x) (1) 式(1)表示了加法的交换律.它通常用运算符来书写,这使得它更简洁: x…
BeautifulSoup简介 我们知道,Python拥有出色的内置HTML解析器模块——HTMLParser,然而还有一个功能更为强大的HTML或XML解析工具——BeautifulSoup(美味的汤),它是一个第三方库.简单来说,BeautifulSoup最主要的功能是从网页抓取数据.本文我们来感受一下BeautifulSoup的优雅而强大的功能吧! BeautifulSoup安装 BeautifulSoup3 目前已经停止开发,推荐在现在的项目中使用BeautifulSoup4,不过它已经…
知识内容: 1.requests库 2.selenium库 3.BeautifulSoup4库 4.re正则解析库 5.lxml库 参考: http://www.cnblogs.com/wupeiqi/articles/5354900.html http://www.cnblogs.com/linhaifeng/articles/7785043.html 一.requests库 1.安装及简单使用 (1)安装 pip3 install requests (2)简单使用 import reques…
摘要:由于近期打算修改Python解释器以实现pyc文件的加密/解密,出于保密的要求,解密之后的数据只能放在内存中,不能写入到文件中.但是后续的解析pyc文件的代码又只能接受FILE*作为入参,所以就提出了一种把通过FILE*来访问内存的需求,下文是针对这个需求的几个方面的尝试及其结论. 以下尝试的前提是:Win7 + VS2010. 在vc中,FILE其实就是_iobuf,定义如下: struct _iobuf { char *_ptr; //文件输入的下一个位置 int _cnt; //当前…
装饰器 装饰器(decorator)是一种高级Python语法.装饰器可以对一个函数.方法或者类进行加工.在Python中,我们有多种方法对函数和类进行加工,比如在Python闭包中,我们见到函数对象作为某一个函数的返回结果.相对于其它方式,装饰器语法简单,代码可读性高.因此,装饰器在Python项目中有广泛的应用. 为了说明装饰器的使用方法,我们先写几个简单的例子,然后逐步深入. 简单的写了两个函数,他们的功能很简单就是打印一句话: def f1(): print('hello,f1()')…
Python 文本解析器 一.课程介绍 本课程讲解一个使用 Python 来解析纯文本生成一个 HTML 页面的小程序. 二.相关技术 Python:一种面向对象.解释型计算机程序设计语言,用它可以做 Web 开发.图形处理.文本处理和数学处理等等. HTML:超文本标记语言,主要用来实现网页. 三.项目截图 纯文本文件: Welcome to ShiYanLou ShiYanLou is the first experiment with IT as the core of online ed…
本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding:utf-8from com.wenhy.crawler_baidu_baike import url_manager, html_downloader, html_parser, html_outputerprint "爬虫百度百科调度入口"# 创建爬虫类class SpiderMain(…
CSS选择器:BeautifulSoup4 和lxml一样,Beautiful Soup也是一个HTML/XML的解析器,主要的功能也是如何解析和提取HTML/XML数据. lxml只会局部遍历,而Beautiful Soup是基于HTML DOM的,会载入整个文档,解析整个DOM树,因此时间和内存开销都会大很多,所以性能要低于lxml. BeautifulSoup用来解析HTML比较简单,API非常人性化,支持CSS选择器.Python标准库中的HTML解析器,也支持lxml的XML解析器.…
python调用openstack的api,create_instance的程序解析 2017年10月17日 15:27:24 CloudXli 阅读数:848   版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/CloudXli/article/details/78261027 #!/usr/bin/python import os import time import novaclient.v1_1.client as nvclient #f…
昨日内容回顾 1. django请求生命周期? - 当用户在浏览器中输入url时,浏览器会生成请求头和请求体发给服务端 请求头和请求体中会包含浏览器的动作(action),这个动作通常为get或者post,体现在url之中. - url经过Django中的wsgi,再经过Django的中间件,最后url到过路由映射表,在路由中一条一条进行匹配, 一旦其中一条匹配成功就执行对应的视图函数,后面的路由就不再继续匹配了. - 视图函数根据客户端的请求查询相应的数据.返回给Django,然后Django…
Python 有几种网页解析器? 1. 正则表达式 2.html.parser (Python自动) 3.BeautifulSoup(第三方)(功能比较强大) 是一个HTML/XML的解析器 4.lxml (第三方) BeautifulSoup 栗子: 地址:https://www.crummy.com/software/BeautifulSoup/bs4/download/ PyCharm安装方法 file → Settings → Project Interpreter(这一步需要你自己找一…