花下猫语: Guido van Rossum 是 Python 的创造者,虽然他现在放弃了"终身仁慈独裁者"的职位,但却成为了指导委员会的五位成员之一,其一举一动依然备受瞩目.近日,他开通了 Medium 账号,并发表了第一篇文章,透露出要替换 Python 的核心部件(解析器)的想法.这篇文章分析了当前的 pgen 解析器的诸多缺陷,并介绍了 PEG 解析器的优点,令人振奋.这项改造工作仍在进行中,Guido 说他还会写更多相关的文章,我们就拭目以待吧. 本文原创并首发于公众号[Py…
花下猫语: Python 之父在 Medium 上开了博客,现在写了两篇文章,本文是第二篇的译文.前一篇的译文 在此 ,宣布了将要用 PEG 解析器来替换当前的 pgen 解析器. 本文主要介绍了构建一个 PEG 解析器的大体思路,并介绍了一些基本的语法规则.根据 Python 之父的描述,这个 PEG 解析器还是一个很笼统的实验品,而他也预告了,将会在以后的系列文章中丰富这个解析器. 阅读这篇文章就像在读一篇教程,虽然很难看懂,但是感觉很奇妙:我们竟然可以见证 Python 之父如何考虑问题.…
configparser是用来读取配置文件的包,配置文件的格式类似:[section]+内容(键=值) 标准库网址:https://docs.python.org/3/library/configparser.html#module-configparser 示例: [db] db_host = 127.0.0.1 db_port = 69 db_user = root db_pass = root host_port = 69 使用方法 第一步:导入模块并初始化 import configpa…
花下猫语: 近日,Python 之父在 Medium 上开通了博客,并发布了一篇关于 PEG 解析器的文章(参见我翻的 全文译文).据我所知,他有自己的博客,为什么还会跑去 Medium 上写文呢?好奇之下,我就打开了他的老博客. 最后一篇文章写于 2018 年 5 月,好巧不巧,写的竟是 pgen 解析器,正是他在新文中无情地吐槽的.说将要替换掉的 pgen .在这篇旧文里,Guido 回忆了他创造 pgen 时的一些考量,在当时看来,创造一个新的解析器无疑是明智的,只不过时过境迁,现在有了更…
碰到的问题: .py文件放在cgi-bin文件夹下面,这个.py文件都要设置"#!python.exe路径"来告诉CGI如何找解析器解析这个.py的文件,我是想知道这个路径可否统一设置,不要在每个.py里面设置,不然换一台服务器,python安装程序路径一改不久找不到了 解决的办法: 在Linux里面/bin/env是二进制程序的执行路径,但在windows系统里面,系统环境Path下面就设置了所有执行文件的执行路径,所以就直接写,#! python,就可以保证调用环境变量里的pyth…
在Guido van Rossum(吉多·范罗苏姆)卸任BDFL(“终身仁慈独裁者”)一职半年多之后,Python社区迎来了新的治理新方案:指导委员会模式,而经过投票Guido van Rossum也成为五大指导委员之一,Python之父Guido重回决策层. BDFL:全称是 Benevolent Dictator For Life(终身仁慈独裁者),该位置被赋予绝对的最终决策权,因为龟叔具有PEP的最终决策权,而反观PHP改进则全部是由社区投票决定,所以被称为”独裁者“:而“仁慈“这一词说明…
Python 之父讲述退位原因,以及 Python 的未来将何去何从. ​ 在 Python 社区,Python 的发明者 Guido Van Rossum 被称为 “仁慈的终生独裁者”(BDFL,Benevolent Dictator for Life).今年 7 月 12 日的时候他突然宣布退位了.消息一出,一时间震惊了整个 Python 世界.当时他以 PEP 572 改进提案的争吵事件为例,表明其退出缘由.Guido van Rossum 于 1990 年发明 Python,他相信 Py…
原题 | Generating a PEG Parser 作者 | Guido van Rossum(Python之父) 译者 | 豌豆花下猫("Python猫"公众号作者) 声明 | 本翻译是出于交流学习的目的,基于 CC BY-NC-SA 4.0 授权协议.为便于阅读,内容略有改动. 首发地址:https://mp.weixin.qq.com/s/ojSq6u9FC0xlBDncuoKczw 我已经在本系列第二篇文章中简述了解析器的基础结构,并展示了一个简单的手写解析器,根据承诺,…
原题 | Left-recursive PEG grammars 作者 | Guido van Rossum(Python之父) 译者 | 豌豆花下猫("Python猫"公众号作者) 声明 | 本翻译是出于交流学习的目的,基于 CC BY-NC-SA 4.0 授权协议.为便于阅读,内容略有改动. 我曾几次提及左递归是一块绊脚石,是时候去解决它了.基本的问题在于:使用递归下降解析器时,左递归会因堆栈溢出而导致程序终止. [这是我的 PEG 系列的第 5 部分.其它文章参见这个目录] 假设…
原题 | 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 本周我们使解析器生成器完成…