Python零基础入门之正则表达式与操作文件

 更新时间:2026年07月16日 09:44:38   作者:咩咩不吃草  
Python作为一门简洁而强大的编程语言,广泛应用于数据分析、Web开发、人工智能等领域,下面这篇文章主要介绍了Python零基础入门之正则表达式与操作文件的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下

一、正则表达式re库:字符串的“精准筛选器”

正则表达式是处理字符串的强大工具,配合Python的re库,能实现匹配、提取、替换等多种操作,尤其适合日志解析、数据清洗等场景。

1. re库核心函数

函数

功能特点

适用场景

match()

从字符串起始位置匹配,开头不满足则返回None

验证字符串格式(如手机号前缀)

search()

遍历整个字符串,返回第一个匹配结果

查找字符串中是否存在目标内容

findall()

遍历整个字符串,返回所有匹配结果(列表形式)

批量提取同类数据

示例代码

2. 正则表达式基础语法

(1)字符范围匹配

[]定义匹配范围,精准锁定目标字符类型:

  • [abc]:匹配a、b、c中的任意一个字符

  • [a-z]:匹配所有小写字母

  • [0-9]:匹配所有数字(等价于\d

  • [cn][0-9]:组合匹配(第一个字符是c/n,第二个是数字)

示例:提取字符串中的数字和字母组合

(2)字符出现次数限定

用特殊符号控制字符出现的次数,满足不同格式需求:

  • *匹配0次或多次

  • +匹配1次或多次

  • ?匹配0次或1次

  • ^:匹配输入行首。

  • $:匹配输入行尾。

  • {n}:匹配确定的n次,n为非负整数。

  • {n,}:至少匹配n次,n为非负整数。

  • {n,m}匹配n到m次。

示例:验证手机号格式(11位数字,以1开头)

(3)特殊字符类

用简洁符号代替常用字符范围,简化正则表达式:

  • \d匹配数字,等价于[0-9]

  • \D:匹配一个非数字类字符,等价于[^0-9]

  • \w匹配字母、数字、下划线,等价于[A-Za-z0-9_]

  • \W:匹配任何非单词字符,等价于"[^A-Za-z0-9_]"

  • \b:匹配一个单词的边界,即单词和空格间的位置。

  • \B:匹配非单词边界。例如"er\B"能匹配"verb"中的"er",但不能匹配"never"中的"er",因为"er"是"never"的单词边界。

  • \n:匹配一个换行符。

  • \r:匹配一个Enter键符。

  • \t:匹配一个制表符。

  • \s:匹配空格、制表符等不可见字符

  • \S:匹配任何可见字符

  • .:匹配除"\n"和"\r"之外的任何单个字符。

3. 贪婪与非贪婪模式:控制匹配长度

正则默认是贪婪模式(尽可能多匹配字符),在次数限定符后加?可切换为非贪婪模式(尽可能少匹配字符),两者差异在批量匹配时尤为明显:

示例对比

应用场景:提取日志中的订单号(非贪婪模式更精准)

4. sub() 替换与 compile() 编译

(1)sub() 方法:批量替换字符串内容

`sub(pattern, repl, string)` 用于将字符串中匹配正则的内容替换为指定字符。

(2)compile() 方法:编译正则表达式提升效率

当需要重复使用同一个正则表达式时,用 `compile(pattern)` 编译为正则对象,后续通过对象调用 `match()`、`findall()` 等方法,可减少重复解析正则的开销,提升执行效率。

示例

二、os库:文件与文件夹的“全能管家”

os库是Python内置的文件管理工具,支持路径操作、文件创建/删除/重命名、属性查询等功能,是批量处理文件的必备工具。

1. 路径操作:文件位置定位

路径是文件操作的基础,os库提供了一系列函数简化路径管理:

函数

功能

os.getcwd()

获取当前工作目录

os.chdir(path)

切换工作目录

os.path.join(p1,p2)

拼接路径(自动处理不同系统的路径分隔符,推荐使用)

os.path.basename(path)

提取文件名(如从路径中获取"[1.py](1.py)")

os.path.dirname(path)

提取目录名(如从路径中获取"C:\Users\Documents")

os.path.isabs(path)

判断是否为绝对路径(绝对路径带盘符,相对路径不带)

示例代码

2. 文件与文件夹的创建与删除

快速创建/删除文件或文件夹,支持批量操作:

(1)创建操作

  • os.mkdir(path)创建单个文件夹(父文件夹必须存在)

  • os.makedirs(path)递归创建文件夹(父文件夹不存在时自动创建)

示例:创建多层文件夹

(2)删除操作

  • os.remove(file_path)删除文件(不能删除文件夹)

  • os.rmdir(dir_path)删除空文件夹(文件夹非空时报错)

注意:删除操作不可逆,建议先通过os.path.exists(path)验证路径存在后再操作。

3. 文件属性查询与判断

获取文件大小、判断路径类型(文件/文件夹):

函数

功能

os.path.getsize(path)

获取文件大小(单位:字节,1KB=1024字节)

os.path.exists(path)

判断路径是否存在(文件/文件夹均可)

os.path.isfile(path)

判断是否为文件

os.path.isdir(path)

判断是否为文件夹

示例:统计文件夹总大小

4. 批量操作:高效处理多个文件

os库的批量操作功能能大幅提升工作效率,常见场景包括批量重命名、遍历文件等:

(1)批量重命名文件夹

(2)遍历文件夹并获取所有文件名

(3)文件复制

使用os.link(src, dst)创建的是硬链接实现文件复制(src为原路径,dst为目标路径):

总结

到此这篇关于Python零基础入门之正则表达式与操作文件的文章就介绍到这了,更多相关Python正则表达式与操作文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python实现控制PDF页面大小、页边距、页面方向与缩放

    Python实现控制PDF页面大小、页边距、页面方向与缩放

    本文将详细介绍如何使用 Python,通过 Spire.PDF for Python 库调整 PDF 的各种页面设置,包括自定义尺寸、页边距、纸张方向以及内容画布的移动与缩放,帮助你通过自动化脚本快速创建符合不同要求的 PDF 文档,省去手动操作的繁琐与时间
    2026-04-04
  • Python实现的IP端口扫描工具类示例

    Python实现的IP端口扫描工具类示例

    这篇文章主要介绍了Python实现的IP端口扫描工具类,结合实例形式分析了Python基于socket模块与多线程操作实现IP端口扫描的相关操作技巧,需要的朋友可以参考下
    2019-02-02
  • Pandas DataFrame中两种排序函数的使用

    Pandas DataFrame中两种排序函数的使用

    本文主要介绍了Pandas DataFrame中两种排序函数的使用,包括sort_values() 和 sort_index()的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2026-04-04
  • Python+OpenCV实现单个圆形孔和针检测

    Python+OpenCV实现单个圆形孔和针检测

    这篇文章主要为大家详细介绍了如何通过Python+OpenCV实现单个圆形孔和针检测功能,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2022-10-10
  • python 虚拟环境调用allure报错:FileNotFoundError: [WinError 2] 系统找不到指定的文件

    python 虚拟环境调用allure报错:FileNotFoundError: [WinError

    python代码调用命令行 allure命令报错,提示找不到allure这个命令,本文就详细的介绍了具体的解决方法,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09
  • 14个用Python实现的Excel常用操作总结

    14个用Python实现的Excel常用操作总结

    自从学了Python后就逼迫自己不用Excel,所有操作用Python实现。目的是巩固Python,与增强数据处理能力。本文为大家总结了14个用Python实现的Excel常用操作,需要的可以参考一下
    2022-06-06
  • python图片验证码生成代码

    python图片验证码生成代码

    这篇文章主要为大家详细介绍了python图片验证码生成代码,感兴趣的朋友可以参考一下
    2016-07-07
  • python接口自动化测试数据和代码分离解析

    python接口自动化测试数据和代码分离解析

    代码的可维护性除了代码冗余之外还有就是数据尽量不要和代码掺杂在一起,因为阅读起来会非常的凌乱;数据分离能更好的增加代码可读性和可维护性,也能更好的二次修改使用
    2021-09-09
  • Python设计模式中的结构型适配器模式

    Python设计模式中的结构型适配器模式

    这篇文章主要介绍了Python设计中的结构型适配器模式,适配器模式即Adapter Pattern,将一个类的接口转换成为客户希望的另外一个接口,下文内容具有一定的参考价值,需要的小伙伴可以参考一下
    2022-02-02
  • Python报错no module named torch的几种原因及解决方案

    Python报错no module named torch的几种原因及解决方案

    这篇文章主要给大家介绍了关于Python报错no module named torch的几种原因及解决方案,这是小白时常犯的错,这个报错一般说明在你电脑当前环境下没有安装torch这个模块,但也有其他情况,需要的朋友可以参考下
    2023-10-10

最新评论