注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 11.3 组合查询和抽取 如果我们想以“X-”字符串开头的行中找到数字,就像下面两行字符串: X-DSPAM-Confidence: 0.8475X-DSPAM-Probability: 0.0000 但我们不只是要任意行中的任意浮点数,而是具备上面格式的行中的数字. 我们可以创建以下正则表达式来选择这样的行: ^X-.*: [0-9.]+…
注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 11.4 转义字符 之前我们在正则表达式中使用特殊字符来匹配一行的开头和结尾,或者是指定通配符,当我们想匹配象"$"或"^"的实际字符时,我们需要一个方法来表示这些“正常”的字符. 我们可以简单的在字符前添加反斜线"\"即可实现匹配.例如,我们可以使用下面的正则表达式找到金钱数额:…
注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 11.7 调试 Python有一些简单和基本的内置文档,当你想快速复习触发你记忆的特定方法,这将非常有用.这个文档可以通过Python解释器在互动模式下查看. 你可以使用help()命令带出互动的帮助系统 >>> help() Welcome to Python 3.4's help utility! If this is…
注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 11.2 用正则表达式抽取数据 在Python中,我们可以使用findall()方法从字符串中抽取所有匹配正则表达式的子字符串.接下来我们会用一个例子,从行中抽取看起来像电子邮件地址的字符串,而不考虑行的格式.比如,我们想从下面几行字符串中拉出电子邮件地址. From stephen.marquard@uct.ac.za Sat Jan 5…
注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 11.1 正则表达式的字符匹配 我们可以用许多其它的特殊字符创建更加强大的正则表达式.最常用的特殊符号是可匹配任何字符的句号(".").在以下的示例中,正则表达式”F..m:“将匹配”From:”,“Fxxm:",”F12m:“,或者”F!@m:“等类似字符串,因为表达式中间的句号可匹配任何字符. import…
注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 目前为止,我们一直在通读文件,查找模式和抽取字里行间我们感兴趣的各种信息.我们一直在使用像split和find的字符串方法,以及列表和字符串的切片功能来抽取行中的部分内容. 像这样的查找和抽取任务是如此常见,所以Python拥有一个非常强大的库——正则表达式(regular expressions)来优雅地处理这些任务.我们未早一点介绍正则…
#Python编程从入门到实践#第四章笔记   操作列表 ​​​1.遍历列表 使用for循环,遍历values列表 for value in values: print(value) 2.数字列表 使用range(a,b)函数生成一系列数字,从a开始,并在到达b后停止[不包含b] eg:    for value in range(1,5): print(value) 打印结果:1 2 3 4 函数list()将range()的结果转换为列表. print(list(range(1,6))   …
本章内容: 一..装饰器 二.生成器 三.迭代器 四.python中的内置方法 五.json & pickle 的数据序列化及反序列化 六.程序目录结构规范 七.补充内容 一.装饰器: 1.概念:装饰器的本质是函数,用于装饰其他函数,就是给其他函数添加附加的功能 2.什么情况下要使用装饰器? (1)不能修改被装饰函数的源代码 (2)不能修改被装饰函数的调用方式 (装饰器对于被装饰函数是完全透明的,不会影响被装饰函数) 示例: 定义一个sayhi()函数,调用函数时,打印“你好,xx”,代码如下:…
一.迭代器&生成器 1.迭代器仅仅是一容器对象,它实现了迭代器协议.它有两个基本方法: 1)next 方法 返回容器的下一个元素 2)_iter_方法 返回迭代器自身.迭代器可以使用内建的iter方法创建 ts = iter(['asd','sds','qweq']) #创建iter方法 print(ts.__next__()) #使用_next_方法返回下一个元素 print(ts.__next__()) print(ts.__next__()) #运行结果 asd sds qweq#需要注意…
<python基础教程(第二版)>学习笔记 文件和素材(第11章) 打开文件:open(filename[,mode[,buffering]]) mode是读写文件的模式f=open(r'c:\somefile.txt') #默认是读模式+ 表示是可以读写:r 读模式:w 写模式:a 追加模式:b 二进制模式:换行符在Windows为\r\n,在Unix中为\n, Python会自动转换: buffering缓冲:0表示无缓冲:1表示有缓冲(使用flush或close才会写到硬盘中): sys…