Python创建一个文本文件每行包含信息:姓名 手机 住宅,共10行信息,使用正则表达式将文件中的手机信息提取出写入以姓名命名的本文文件。
时间: 2024-03-01 13:55:46 浏览: 117
好的,以下是 Python 编写的程序实现,假设原始的文本文件名为 `info.txt`:
```python
import re
# 读取原始文本文件
with open('info.txt', 'r', encoding='utf-8') as f:
lines = f.readlines()
# 定义手机号码正则表达式
pattern = re.compile(r'\b1[3456789]\d{9}\b')
# 遍历每一行信息,并提取手机号码
for line in lines:
# 使用正则表达式查找手机号码
match = pattern.search(line)
if match:
# 如果找到手机号码,则将其写入以姓名命名的文件中
name = line.split()[0]
with open(f'{name}.txt', 'a', encoding='utf-8') as f:
f.write(f'{match.group()}\n')
```
以上代码实现了读取原始的文本文件,并定义了手机号码的正则表达式。然后遍历每一行信息,使用正则表达式在每行中查找手机号码。如果找到了手机号码,则从该行中提取出姓名,并将手机号码写入以姓名命名的文件中。其中使用了 Python 的 `split` 函数来分割每行信息,以获取姓名。使用 `a` 模式打开文件,以追加模式写入手机号码。
阅读全文