请从chengyu.txt文件中读取数据,进行以下操作: (1)读取四字成语 (2)根据指定格式提取成语,如: AABB,AABC,ABAC,…… (3)将不同格式成语存入“CY+格式.txt”的文件中,如”CYAABB.txt“
时间: 2024-05-01 15:21:40 浏览: 14
好的,我已经明白了您的要求。以下是代码实现:
```python
import re
# 读取文件中的四字成语
with open('chengyu.txt', 'r', encoding='utf-8') as f:
chengyu_list = [line.strip() for line in f.readlines() if len(line.strip()) == 4]
# 匹配成语的不同格式
aabb_pattern = re.compile(r'(\w)\1(\w)\2')
aabc_pattern = re.compile(r'(\w)\1\w(\w)')
abac_pattern = re.compile(r'(\w)\w(\w)\1')
# 将成语按不同格式分类存入文件
for chengyu in chengyu_list:
if aabb_pattern.match(chengyu):
with open('CYAABB.txt', 'a', encoding='utf-8') as f1:
f1.write(chengyu + '\n')
elif aabc_pattern.match(chengyu):
with open('CYAABC.txt', 'a', encoding='utf-8') as f2:
f2.write(chengyu + '\n')
elif abac_pattern.match(chengyu):
with open('CYABAC.txt', 'a', encoding='utf-8') as f3:
f3.write(chengyu + '\n')
```
以上代码会将匹配到的成语分别存入三个不同的文件中,文件名分别为CYAABB.txt、CYAABC.txt和CYABAC.txt。您可以根据需要修改成语匹配的正则表达式和文件名。