Python零基础入门之正则表达式与操作文件
一、正则表达式re库:字符串的“精准筛选器”
正则表达式是处理字符串的强大工具,配合Python的re库,能实现匹配、提取、替换等多种操作,尤其适合日志解析、数据清洗等场景。
1. re库核心函数
函数 | 功能特点 | 适用场景 |
| 从字符串起始位置匹配,开头不满足则返回None | 验证字符串格式(如手机号前缀) |
| 遍历整个字符串,返回第一个匹配结果 | 查找字符串中是否存在目标内容 |
| 遍历整个字符串,返回所有匹配结果(列表形式) | 批量提取同类数据 |
示例代码:

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库提供了一系列函数简化路径管理:
函数 | 功能 |
| 获取当前工作目录 |
| 切换工作目录 |
| 拼接路径(自动处理不同系统的路径分隔符,推荐使用) |
| 提取文件名(如从路径中获取"[1.py](1.py)") |
| 提取目录名(如从路径中获取"C:\Users\Documents") |
| 判断是否为绝对路径(绝对路径带盘符,相对路径不带) |
示例代码:

2. 文件与文件夹的创建与删除
快速创建/删除文件或文件夹,支持批量操作:
(1)创建操作
os.mkdir(path):创建单个文件夹(父文件夹必须存在)os.makedirs(path):递归创建文件夹(父文件夹不存在时自动创建)
示例:创建多层文件夹

(2)删除操作
os.remove(file_path):删除文件(不能删除文件夹)os.rmdir(dir_path):删除空文件夹(文件夹非空时报错)
注意:删除操作不可逆,建议先通过os.path.exists(path)验证路径存在后再操作。
3. 文件属性查询与判断
获取文件大小、判断路径类型(文件/文件夹):
函数 | 功能 |
| 获取文件大小(单位:字节,1KB=1024字节) |
| 判断路径是否存在(文件/文件夹均可) |
| 判断是否为文件 |
| 判断是否为文件夹 |
示例:统计文件夹总大小

4. 批量操作:高效处理多个文件
os库的批量操作功能能大幅提升工作效率,常见场景包括批量重命名、遍历文件等:
(1)批量重命名文件夹

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

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

总结
到此这篇关于Python零基础入门之正则表达式与操作文件的文章就介绍到这了,更多相关Python正则表达式与操作文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
python 虚拟环境调用allure报错:FileNotFoundError: [WinError
python代码调用命令行 allure命令报错,提示找不到allure这个命令,本文就详细的介绍了具体的解决方法,具有一定的参考价值,感兴趣的可以了解一下2023-09-09
Python报错no module named torch的几种原因及解决方案
这篇文章主要给大家介绍了关于Python报错no module named torch的几种原因及解决方案,这是小白时常犯的错,这个报错一般说明在你电脑当前环境下没有安装torch这个模块,但也有其他情况,需要的朋友可以参考下2023-10-10


最新评论