Python高效提取文本中手机号码的实战教程

需积分: 10 1 下载量 113 浏览量 更新于2024-08-08 收藏 1.07MB PDF 举报
在本文档中,作者分享了Python编程在办公自动化中的一个重要应用场景——从文本文件中自动提取手机号码。该技巧在实际工作中能大大提高效率,特别是在处理大量数据时。以下是详细的步骤: 1. **文本文件读取**: 使用Python的`open()`函数读取文本文件(假设是`.txt`格式),并设置编码为`utf-8`。编写一个名为`get_str`的函数,接受文件路径作为参数,通过`read()`方法读取文件内容,然后关闭文件,将读取到的数据返回。 2. **正则表达式提取手机号码**: 利用Python的`re`模块中的`findall()`方法,定义一个名为`get_phone_number`的函数,使用正则表达式模式匹配手机号码,这里定义了一个包含多种常见中国移动、中国联通和中国电信号码格式的模式。这个函数会返回一个包含所有匹配到的手机号码的列表。 正则表达式模式示例: ``` r'(13\d{9}|14[5|7]\d{8}|15\d{9}|166\d{8}|17[3|6|7]\d{8}|18\d{9})' ``` 3. **保存提取结果**: 创建一个名为`save_res`的函数,接受提取到的手机号码列表和保存路径作为参数。使用`open()`函数打开指定路径的文件,以写入模式`'w'`创建或覆盖文件。然后使用`write()`方法遍历手机号码列表,逐条写入文件,最后关闭文件。 4. **运行脚本**: 用户可以通过命令行输入目标文件路径和保存结果的路径,调用上述三个函数来实现整个流程。例如,在DOS或命令行环境中运行`python day1.py`,按照提示输入文件和保存路径,程序会自动提取文本中的手机号码并保存到指定位置。 总结来说,这个PDF文档详细介绍了如何使用Python的基本函数和正则表达式来自动化处理文本数据,提升办公效率。通过实践这些技巧,可以更有效地处理日常工作中遇到的信息提取任务,节省时间和精力。