博客
关于我
Python 知识点总结篇(3)
阅读量:370 次
发布时间: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/

    你可能感兴趣的文章
    Servlet2.5的增删改查功能分析与实现------删除功能(四)
    查看>>
    环境配置 jdk_mysql_myeclipse8.6
    查看>>
    Session验证码的实现(2018-7-3)
    查看>>
    spring启动错误:Could not resolve placeholder
    查看>>
    日志写入xml上传ftp遇到的问题
    查看>>
    下载任意版本vmware对应的vmware tools
    查看>>
    将 github 中他人的 仓库 导入 码云中,从而 加快下载速度的 方式
    查看>>
    Java 类加载的过程 加载、验证、准备、解析、初始化
    查看>>
    JavaWeb---实现JavaBean来接收参数、请求转发、域对象
    查看>>
    瀚高数据库中 java代码类型与bit对应(APP)
    查看>>
    选择性估算器绕过行安全策略漏洞
    查看>>
    PostgreSQL中的触发器
    查看>>
    对PostgreSQL数据库结构的宏观理解
    查看>>
    Postgresql 日期和时间类型
    查看>>
    xmin、xmax、cmin、cmax
    查看>>
    查询某表格上次进行vacuum的时间
    查看>>
    invalid byte sequence for encoding
    查看>>
    Highgo Database故障收集脚本
    查看>>
    failed to initialize the database
    查看>>
    invalid byte sequence for encoding
    查看>>