博客
关于我
Python 知识点总结篇(3)
阅读量:379 次
发布时间:2019-03-05

本文共 2003 字,大约阅读时间需要 6 分钟。

文件操作与正则表达式:Python编程实用技巧

文件操作是编程中常见但重要的技能。掌握了文件操作,编程工作就会变得更加高效。以下将详细介绍文件操作流程以及如何使用正则表达式来处理文本数据。

文件操作流程

文件操作通常包括以下几个步骤:

  • 打开文件:使用open()函数打开文件,返回一个文件句柄。
  • 读取文件内容:通过文件句柄对文件内容进行操作。
  • 关闭文件:确保在完成操作后正确关闭文件,以避免资源泄漏。
  • 在Python中,with语句可以简化文件操作流程,自动处理文件的打开和关闭:

    with open('log', 'r') as f:    # 读取文件内容    content = f.read()

    文件操作之open()

    open()函数是文件操作的基础,它接收以下参数:

    • 文件路径:文件的位置。
    • 模式:如'r'读取,'w'写入,'a'追加等。

    例如:

    file = open('data.txt', 'r')content = file.read()file.close()

    这种方法虽然可行,但使用with语句更为合适,因为它能确保文件在异常情况下也能被正确关闭。

    正则表达式:文本匹配的强大工具

    正则表达式(Regular Expression,简称regex)是一种强大的文本匹配工具,能够帮助开发者快速定位文本中的模式。

    正则表达式匹配步骤

  • 导入正则表达式模块:使用re模块。
  • 创建Regex对象:使用re.compile()函数创建一个Regex对象。
  • 搜索匹配:使用search()方法在字符串中查找模式。
  • 提取匹配结果:调用group()方法获取匹配文本。
  • 例如:

    import repattern = re.compile(r'bat(wo)?man')match = pattern.search('The Adventures of Batman.')print(match.group())  # 输出: Batman

    常用符号解析

    • |:匹配多个选项,例如man|woman
    • ?:匹配可选字符,例如man?
    • *:匹配零次或多次,例如man*
    • +:匹配一次或多次,例如man+
    • {}:指定字符出现次数,例如{3}

    例如:

    import repattern = re.compile(r'ha{3}')match = pattern.search('hahaha')print(match.group())  # 输出: hahamatch = pattern.search('haha')print(match == None)  # 输出: True

    findall()方法

    findall()方法用于提取所有匹配结果:

    • 未分组模式:返回一个字符串列表。
    • 有分组模式:返回一个元组列表。

    例如:

    import repattern = re.compile(r'\b\d{3}-\d{3}-\d{3}\b')numbers = pattern.findall('123-324-5832 324-589-0983')print(numbers)  # 输出: ['123-324-5832', '324-589-0983']

    文件路径类型

    • 绝对路径:从根目录开始,例如/home/user/data.txt
    • 相对路径:从当前工作目录开始,例如data.txt

    读写文件步骤

  • 打开文件file = open('data.txt', 'r')
  • 读取内容content = file.read()
  • 关闭文件file.close()
  • 可以使用with语句简化代码:

    with open('data.txt', 'w') as file:    file.write('写入的内容')

    ##永久删除文件和文件夹

    • 删除文件os.unlink(path)
    • 删除空文件夹os.rmdir(path)
    • 删除包含文件的文件夹shutil.rmtree(path)

    例如:

    import osos.unlink('/tmp/test.txt')  # 删除指定文件os.rmdir('/tmp/empty')  # 删除空文件夹import shutilshutil.rmtree('/tmp/non_empty')  # 删除包含文件的文件夹

    调试:快速定位错误

    在编程过程中,错误会阻碍进度。Python提供了反向跟踪功能,帮助开发者定位错误来源。

    例如:

    try:    a = int('3.14')except ValueError:    print('错误:无法将"3.14"转换为整数')finally:    print('程序结束')

    通过上述步骤,希望你能够更好地掌握文件操作与正则表达式的使用方法,同时学会如何高效地调试和解决编程问题。

    转载地址:http://stjwz.baihongyu.com/

    你可能感兴趣的文章
    NIS服务器的配置过程
    查看>>
    NIS认证管理域中的用户
    查看>>
    Nitrux 3.8 发布!性能全面提升,带来非凡体验
    查看>>
    NiuShop开源商城系统 SQL注入漏洞复现
    查看>>
    NI笔试——大数加法
    查看>>
    NLog 自定义字段 写入 oracle
    查看>>
    NLog类库使用探索——详解配置
    查看>>
    NLP 基于kashgari和BERT实现中文命名实体识别(NER)
    查看>>
    NLP 时事和见解【2023】
    查看>>
    NLP 模型中的偏差和公平性检测
    查看>>
    Vue3.0 性能提升主要是通过哪几方面体现的?
    查看>>
    NLP 项目:维基百科文章爬虫和分类【01】 - 语料库阅读器
    查看>>
    NLP_什么是统计语言模型_条件概率的链式法则_n元统计语言模型_马尔科夫链_数据稀疏(出现了词库中没有的词)_统计语言模型的平滑策略---人工智能工作笔记0035
    查看>>
    NLP、CV 很难入门?IBM 数据科学家带你梳理
    查看>>
    NLP三大特征抽取器:CNN、RNN与Transformer全面解析
    查看>>
    NLP入门(六)pyltp的介绍与使用
    查看>>
    NLP学习笔记:使用 Python 进行NLTK
    查看>>
    NLP度量指标BELU真的完美么?
    查看>>
    NLP的不同研究领域和最新发展的概述
    查看>>
    NLP的神经网络训练的新模式
    查看>>