资源经验分享Python知识点总结篇(三)

Python知识点总结篇(三)

2019-11-22 | |  69 |   0

原标题:Python知识点总结篇(三)

原文来自:博客园      原文链接:https://www.cnblogs.com/cunyu1943/p/11606052.html


文件操作

  • 对文件操作流程

    • 打开文件,得到文件句柄并赋值给一个变量;

    • 通过句柄对文件进行操作;

    • 关闭文件;

  • with:自动关闭文件;

    with open('log', 'r') as f:
        ...
  • 文件操作之open()

20191118180009718.png

模式匹配与正则表达式

  • 正则表达式:简称regex,是文本模式的描述方法;

  • 正则表达式匹配步骤:

    • 导入正则表达式模块re

    • re.compile()函数创建一个Regex对象(记得使用原始字符串);

    • Regex对象的search()方法传入想要查找的字符串,返回一个Match对象;

    • 调用Match对象的group()方法,返回实际匹配文本的字符串;

  • 管道:|,用于匹配多个表达式中的一个,匹配多个分组;

  • 问号:?,实现可选匹配;

>>> import re>>> batRegex = re.compile(r'Bat(wo)?man')>>> mo1 = batRegex.search('The Adventures of Batman.')>>> print(mo1.group())
Batman>>> mo2 = batRegex.search('The Adventures of Batwoman.')>>> print(mo2.group())
Batwoman
  • 星号:*,匹配零次或多次,即星号之前的分组,可以在文本中出现任意次;

>>> import re>>> batRegex = re.compile(r'Bat(wo)*man')>>> mo1 = batRegex.search('The Adventures of Batwowoman')>>> print(mo1.group())
Batwowoman
  • 加号:+,匹配一次或多次,加号前面的分组必须"至少出现一次”;

>>> import re>>> batRegex = re.compile(r'Bat(wo)+man')>>> mo1 = batRegex.search('The Adventures of Batwowoman')>>> print(mo1.group())
Batwowoman>>> mo2 = batRegex.search('The Adventures of Batman')>>> print(mo2 == None)True
  • 花括号:{ },匹配特定次数;

>>> import re>>> batRegex = re.compile(r'ha{3}')>>> mo1 = batRegex.search('hahaha')>>> print(mo1.group())
hahaha>>> mo2 = batRegex.search('haha')>>> print(mo2 == None)True
  • findall()方法返回结果:

    • 若调用在一个没有分组的正则表达式上,则返回一个匹配字符串的列表,如['123-324-5832', '324-589-0983']

    • 若调用在一个有分组的正则表达式上,则返回一个字符串的元组的列表(每个分组对应一个字符串),如[('123', '453', '4324'), ('343', '654', '3245)]

  • ^xxx:表示字符串必须以xxx开始;

  • xxx$:表示字符串必须以xxx结尾;

  • 绝对路径:从根文件夹开始;

  • 相对路径:相对于程序的当前工作目录;

  • 读写文件的步骤:

    • 调用open()函数,返回一个File对象;

    • 调用File对象的read()write()方法;

    • 调用File对象的close()方法,关闭该文件;

  • 永久删除文件和文件夹:

    • os.unlink(path)删除path处的文件;

    • os.rmdir(path)将删除path处的文件夹,但文件夹必须为空;

    • shutil.rmtree(path)删除path处的文件夹,包含的所有文件和文件夹都会被删除;

调试

  • 反向跟踪:Python遇到错误,就会产生错误信息,这些信息包含了出错信息、导致该错误的代码行号,以及导致该错误的函数调用的序列(调用栈);

免责声明:本文来自互联网新闻客户端自媒体,不代表本网的观点和立场。

合作及投稿邮箱:E-mail:editor@tusaishared.com

上一篇:Python知识点总结篇(二)

下一篇:Python知识点总结篇(四)

用户评价
全部评价

热门资源

  • Python 爬虫(二)...

    所谓爬虫就是模拟客户端发送网络请求,获取网络响...

  • TensorFlow从1到2...

    原文第四篇中,我们介绍了官方的入门案例MNIST,功...

  • TensorFlow从1到2...

    “回归”这个词,既是Regression算法的名称,也代表...

  • 机器学习中的熵、...

    熵 (entropy) 这一词最初来源于热力学。1948年,克...

  • TensorFlow2.0(10...

    前面的博客中我们说过,在加载数据和预处理数据时...