关于小甲鱼和客服对话的文件和代码解释,及其中所遇到问题的总结。
作者:互联网
------------恢复内容开始------------
1、先给出小甲鱼和客服对话的记事本内容
小客服:小甲鱼,今天有客户问你有没有女朋友? 小甲鱼:咦?? 小客服:我跟她说你有女朋友了! 小甲鱼:。。。。。。 小客服:她让你分手后考虑下她!然后我说:"您要买个优盘,我就帮您留意下~" 小甲鱼:然后呢? 小客服:她买了两个,说发一个货就好~ 小甲鱼:呃。。。。。。你真牛! 小客服:那是,谁让我是鱼C最可爱小客服嘛~ 小甲鱼:下次有人想调戏你我不阻止~ 小客服:滚!!! ================================================================================ 小客服:小甲鱼,有个好评很好笑哈。 小甲鱼:哦? 小客服:"有了小甲鱼,以后妈妈再也不用担心我的学习了~" 小甲鱼:哈哈哈,我看到丫,我还发微博了呢~ 小客服:嗯嗯,我看了你的微博丫~ 小甲鱼:哟西~ 小客服:那个有条回复“左手拿著小甲魚,右手拿著打火機,哪裡不會點哪裡,so easy ^_^” 小甲鱼:T_T ================================================================================ 小客服:小甲鱼,今天一个会员想找你 小甲鱼:哦?什么事? 小客服:他说你一个学生月薪已经超过12k了!! 小甲鱼:哪里的? 小客服:上海的 小甲鱼:那正常,哪家公司? 小客服:他没说呀。 小甲鱼:哦 小客服:老大,为什么我工资那么低啊??是时候涨涨工资了!! 小甲鱼:啊,你说什么?我在外边呢,这里好吵吖。。。。。。 小客服:滚!!!
2、再给出课堂上所讲述的代码
#打开小甲鱼和客服对话的文件,我放在了D盘,给出了文件路径和编码方式(UTF-8)
f=open('D://SSS1.txt',encoding='UTF-8')
boy=[]
girl=[]
count=1
#循环迭代
for each_line in f:
#循环读取前六个变量,如果连续等于6个等号就执行下面代码
if each_line[:6] != '======':
#从“:”两端分开分别,将其分别给role和line_spoken
(role,line_spoken)=each_line.split(':',1)
#如果role是小甲鱼,就将line_soken放入列表boy中
if role =="小甲鱼":
boy.append(line_spoken)
if role =='小客服':
girl.append(line_spoken)
#如果连续等于6个等号就执行下列代码,也就是到了第二段话了
else:
#给第一段第二段的小甲鱼和小客服的对话分别命名为:boy1.txt和girl1.txt
#boy2.txt和girl2.txt,以便下一步返回一个文件名
file_name_boy='boy' + str(count) +'.txt'
file_name_girl='girl' + str(count) +'.txt'
#以覆盖式('w')的写入方式,返回两个上述创建的文本文件
boy_file=open(file_name_boy,'w')
girl_file=open(file_name_girl,'w')
#先将第一段中的小甲鱼和小客服说的话,每句话分别放入boy1.txt和girl1.txt中
boy_file.writelines(boy)
girl_file.writelines(girl)
#写入完文件还在内存中,要关闭文件放入硬盘(也就是把文件保存下来)。
boy_file.close()
girl_file.close()
#初始化两个列表在读入第二段话
boy=[]
girl=[]
count+=1
#因为第三段就读不到'======',所以要再重复一遍命名。
file_name_boy='boy' + str(count) +'.txt'
file_name_girl='girl' + str(count) +'.txt'
boy_file=open(file_name_boy,'w')
girl_file=open(file_name_girl,'w')
boy_file.writelines(boy)
girl_file.writelines(girl)
boy_file.close()
girl_file.close()
f.close()
3、给出两个容易出错的代码截图
3.1 编码出现错误(encoding='UTF-8')
解决办法:因为我的记事本保存的格式为UTF-8,而open()默认为None,故在打开路径后面写上'encoding=UTF-8'
3.2 小甲鱼和小客服对话文本末尾的空行没有删除
解决办法:找到文件末尾,把空行删除,在运行代码。
3.3 三个文件的保存位置
因为我用的是python的IDLE Shell,所以运行完代码的文件,都保存在了我存放代码的位置,并不是打开小甲鱼和小客服对话的文件在一个地方(也就是说我我把“小甲鱼与小客服”的对话和我的所有IDLE的代码位置存放不一样,不管怎样就从IDLE Shell中存放代码的位置,去寻找运行完后程序所生成的几个代码文件)。
此篇文章是初学者wangwin4所写,如有纰漏还望海涵,欢迎各位大佬批评指正,这是作者的第一篇随笔,特此记录,
------------恢复内容结束------------
标签:boy,甲鱼,客服,对话,file,girl,txt 来源: https://www.cnblogs.com/wangwin4/p/16100407.html