我写的
# fr=open(r'D:\Program Files (x86)\phthon\myprogrammes\LL07\record.txt', mode='r')
fr=open('record.txt', mode='r')
fb1=open('b1.txt', mode='w')
fb2=open('b2.txt', mode='w')
fb3=open('b3.txt', mode='w')
fg1=open('g1.txt', mode='w')
fg2=open('g2.txt', mode='w')
fg3=open('g3.txt', mode='w')
fg=open('g.txt', mode='w')
fb=open('b.txt', mode='w')
fr.seek(0,0)
cishu_hengxian=0
for each_line in fr:
thename=each_line[:3]
if each_line[-1:] =='”':
thestring2=each_line[5:len(each_line)-1] #最后一行的特例
else:
thestring2=each_line[5:len(each_line)-2]
if thename!='===':
if thename =='小甲鱼':
fb.write(thestring2)
fb.write('\n')
if cishu_hengxian==0:
fb1.write(thestring2)
fb1.write('\n')
elif cishu_hengxian==1:
fb2.write(thestring2)
fb2.write('\n')
elif cishu_hengxian==2:
fb3.write(thestring2)
fb3.write('\n')
elif thename=='小客服':
fg.write(thestring2)
fg.write('\n')
if cishu_hengxian==0:
fg1.write(thestring2)
fg1.write('\n')
elif cishu_hengxian==1:
fg2.write(thestring2)
fg2.write('\n')
elif cishu_hengxian==2:
fg3.write(thestring2)
fg3.write('\n')
else:
cishu_hengxian+=1
fr.close()
fg.close()
fb.close()
fg1.close()
fg2.close()
fg3.close()
fb1.close()
fb2.close()
fb3.close()
官方写的
def save_file(count,boy,girl): #下面会用到三个变量 count boy girl 所以这里记得要加上这三个未定义的变量
filename_boy_name = 'boy' + str(count) + '.txt'
filename_girl_name = 'girl' + str(count) +'.txt'
boy_file = open(filename_boy_name,'w')
girl_file = open(filename_girl_name,'w')
boy_file.writelines(boy)
girl_file.writelines(girl)
boy_file.close()
girl_file.close()
#这里为了以后使用方便 把分裂文字,然后写入这个功能也写成函数,说不定以后还用得到呢
def split_file(filename): #函数()里面不用急着写,下面用到什么,这里再写什么也不迟
f = open(filename)
girl = []
boy = []
count = 1
for each_line in f:
if each_line[:6] != '======':
(role,line_spoken) = each_line.split(':', 1)
if role == '小甲鱼':
boy.append(line_spoken[1:len(line_spoken)-2])
boy.append('\n')
else:
girl.append(line_spoken[1:len(line_spoken)-2])
girl.append('\n')
else:
save_file(count,boy,girl)
count +=1
boy = []
girl = []
save_file(count,boy,girl)
f.close()
#两个功能都写好了 ,现在用用这个利器吧
split_file('record.txt')
学到的:split函数,还有函数定义,都是很好的方法。