|
发表于 2021-6-9 21:43:29
|
显示全部楼层
认真看了下你的代码,还有 for 循环 a 文件对象了,那么文件每次循环都会向下移动一行
但是你还在 for 循环中加了 a.readline() 导致每次 for 循环 文件指针移动两行
而你还进行了递归,肯定会导致有些递归读取到的是空文件,因为你每次读取的文件对象都是同一个,而且最后文件指针会移动到文本末尾了
帮你改了下代码,参考下吧:
- a = open('record.txt', encoding='utf-8')
- x = 1
- def han():
- global x
- q = open('boy_%d.txt' % x, 'w', encoding='utf-8')
- w = open('girl_%d.txt' % x, 'w', encoding='utf-8')
- for i in a:
- if '小甲鱼' in i:
- b = i.replace('小甲鱼:', '')
- q.write(b)
- elif '小客服' in i:
- b = i.replace('小客服:', '')
- w.write(b)
- elif "=======" in i:
- x = x + 1
- han()
- han()
复制代码 |
|