小甲鱼与客服的对话,代码与解析
作者:互联网
源文档:
'这是一段待写入的数小客服:小甲鱼?,今天有?客户问你有没有女朋友?\n小甲鱼:咦???\n小客服:我跟她说你有女朋友了!\n小甲鱼:。。。。。\n小客服:"她让你分手后考虑下她!然后我说您要买个优盘,我就帮您留意下~"\n小甲鱼:然后呢?\n小客服:她买了两个,说发一一个货就好~\n小甲鱼:呃。?。。。。。你真牛!\n小客服:那是,谁让我是鱼C最可爱小客服嘛~\n小甲鱼:下次有人想调戏你我不阻止~\n小客服:滚!!!\n==========================================================\n小客服:小甲鱼,有个好评很好笑哈。\n小甲鱼:哦?\n小客服:"有了小甲鱼,以后妈妈再也不用担心我的学习了~”\n小甲鱼:哈哈哈,我看到丫,我还发微博了呢~\n小客服:嗯嗯,我看了你的微博丫~小甲鱼哟西~\n小客服:那个有条回复"左手拿著小甲魚,右手拿著打火機,哪裡不會點哪裡,?soeasy^...^"\n小甲鱼:T_T\n=============================================================\n小客服:小甲鱼?,今天一?一个会员想找你\n小甲鱼:哦?什么事?\n小客服:他说你一个学生月薪已经超过12k了!?!\n小甲鱼:哪里的?\n小客服:上海的\n小甲鱼:那正常,哪家公司?\n小客服:他没说呀。\n小甲鱼:哦\n小客服:老大,为什么我工资那么低啊???是时候涨张工资了!!!\n小甲鱼:啊,你说什么?我在外边呢,这里好吵吖。。。。。。\n小客服:滚!!!\n
代码实现:
1 f=open('record2.txt') 2 3 girl = [] 4 boy = [] 5 count = 1 6 for each_line in f: 7 if each_line[:6] != '======': 8 (role,line_spoken) = each_line.split(':',1) 9 if role == '小甲鱼': 10 boy.append(line_spoken) 11 else: 12 girl.append(line_spoken) 13 else: 14 file_name_boy = 'boy' + str(count) +'.txt' 15 file_name_girl = 'girl' + str(count) + '.txt' 16 boy_file = open(file_name_boy,'w') 17 girl_file = open(file_name_girl,'w') 18 boy_file.writelines(boy) #把boy 写入boy_file (boy原本是个【】,后来已经通过上面的 if roel那个循环 吧 ===== 上面小甲鱼的话加到里面) 19 girl_file.writelines(girl) #这两行代码就是往 14,15行代码的那两个文件写入东西 20 #写完入东西之后该干嘛了呢? 截止到这里 第一行======上面的内容已经保存成boy1.txt和 girl.txt了 接着想要读下面一段话,但是boy 和 girl这两个定义的数组都是上一段的东西 这时候就该把它们清空了 21 boy = [] 22 girl = [] 23 count += 1
然而 文件中只出现了
第三段没有出现 这是因为最后一段没有 ====== 程序无法判断 所以要自己笨笨的在加一次操作 (╮(╯▽╰)╭,for循环帮不上忙自己动手)
1 f=open('record2.txt') 2 3 girl = [] 4 boy = [] 5 count = 1 6 for each_line in f: 7 if each_line[:6] != '======': 8 (role,line_spoken) = each_line.split(':',1) 9 if role == '小甲鱼': 10 boy.append(line_spoken) 11 else: 12 girl.append(line_spoken) 13 else: 14 file_name_boy = 'boy' + str(count) +'.txt' 15 file_name_girl = 'girl' + str(count) + '.txt' 16 boy_file = open(file_name_boy,'w') 17 girl_file = open(file_name_girl,'w') 18 boy_file.writelines(boy) #把boy 写入boy_file (boy原本是个【】,后来已经通过上面的 if roel那个循环 吧 ===== 上面小甲鱼的话加到里面) 19 girl_file.writelines(girl) #这两行代码就是往 13,14行代码的那两个文件写入东西 20 #写入东西之后该干嘛了呢? 截止到这里 第一行======上面的内容已经保存成boy1.txt girl.txt了 想要读下面一段话,但是boy 和 girl这两个定义的数组都是上一段的东西 这时候就该把它们清空了 21 boy = [] 22 girl = [] 23 count += 1 24 25 file_name_boy = 'boy' + str(count) +'.txt' 26 file_name_girl = 'girl' + str(count) + '.txt' 27 boy_file = open(file_name_boy,'w') 28 girl_file = open(file_name_girl,'w') 29 boy_file.writelines(boy) #把boy 写入boy_file (boy原本是个【】,后来已经通过上面的 if roel那个循环 吧 ===== 上面小甲鱼的话加到里面) 30 girl_file.writelines(girl) 31 32 #活干完了 ,该把文件关上了
整个思想就是上面那样 当时怎么能干笨活 下面 优化一下
啥也不说了看注释
1 f = open('record2.txt') 2 3 # 保存文件那里总是重复的写,这里把他定义成一个函数 4 5 6 def save_file(count,boy,girl): #下面会用到三个变量 count boy girl 所以这里记得要加上这三个未定义的变量 7 filename_boy_name = 'boy' + str(count) + '.txt' 8 filename_girl_name = 'girl' + str(count) +'.txt' 9 boy_file = open(filename_boy_name,'w') 10 girl_file = open(filename_girl_name,'w') 11 boy_file.writelines(boy) 12 girl_file.writelines(girl) 13 boy_file.close() 14 girl_file.close() 15 16 17 #这里为了以后使用方便 把分裂文字,然后写入这个功能也写成函数,说不定以后还用得到呢 18 19 def split_file(filename): #函数()里面不用急着写,下面用到什么,这里再写什么也不迟 20 f = open(filename) 21 girl = [] 22 boy = [] 23 count = 1 24 for each_line in f: 25 (role, line_spoken) = f.split(':', 1) 26 if each_line[:6] == '======': 27 if role == '小甲鱼': 28 boy.append(line_spoken) 29 else: 30 girl.append(line_spoken) 31 else: 32 save_file(count,boy,girl) #这里为什么不像其它函数一样 填具体的东西呢? 因为前面已经定义过了 33 count +=1 34 boy = [] 35 girl = [] 36 save_file(count,boy,girl) 37 f.close() 38 39 40 #两个功能都写好了 ,现在用用这个利器吧 41 split_file('record.txt')
标签:count,boy,甲鱼,客服,file,girl,解析,line 来源: https://www.cnblogs.com/qiuyehaha/p/11695772.html