程序正常启动,却没有生成预期的文件请指教,生成预期, def s
程序正常启动,却没有生成预期的文件请指教,生成预期, def s
def save_file(boy,girl,count): 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() #把两人的对话分别放到命名不同的文件里 def split_file(file_name): f = open('E:/test/dialogue.txt') boy=[] girl=[] count=1 for each_line in f: if each_line[:6] != '======': (role,line_spoken) = each_line.split(':', 1) #每行按照:分割成1+1个子字符串,分别赋值给=前面的对象 if role == '小甲鱼': boy.append(line_spoken) if role == '小客服': girl.append(line_spoken) else: save_file(boy,girl,count) boy = [] girl = [] count += 1 save_file(boy,girl,count) f.close() split_file('E:/test/dialogue.txt')
E:\Python\python.exe "E:/PyCharm 2016.3.2/testest/abc/filelearn_01.py"Process finished with exit code 0
http://edu.csdn.net/course/de... 是这个视频里的
编码的问题在python2中会有比较大的影响,所以要特别注意;
def split_file(file_name): f = open('E:/test/dialogue.txt') boy=[] girl=[] count=1 for each_line in f: each_line = each_line.strip().decode('gbk') # strip()方法用来去掉"\n";decode()方法用来把编码从gbk解码到unicode if each_line[:6] != '======': # (role,line_spoken) = each_line.split(':', 1) #每行按照:分割成1+1个子字符串,分别赋值给=前面的对象 (role,line_spoken) = each_line.split(u':', 1) #注意这里的冒号是中文的冒号,u是告诉python这是个unicode的字符串 # if role == '小甲鱼': if role == u'小甲鱼': boy.append(line_spoken) # if role == '小客服': if role == u'小客服': girl.append(line_spoken) else: save_file(boy,girl,count) boy = [] girl = [] count += 1 save_file(boy,girl,count) f.close()
已经成功了 搜索关键字发现在工作环境里
另外'e:\test/dialogue.txt' 当前者//\,后者可以//或\或/或;当前者/,后者也只能单斜。
有兴趣的可以试试 并tell me why
我觉得应该是全角、半角的问题。
不过你这种方式并不适合容错。
我的建议是:
split_result = each_line.split(':', 1)if len(split_result) < 2: raise RuntimeError()(role,line_spoken) = (split_result[0], split_result[1])
报错信息也不贴好点, 好像是这句代码引发的错误 (role,line_spoken) = each_line.split(':', 1)
当 each_line 变量中不包含 : 就会引发错误
编橙之家文章,
相关内容
- 要用python爬取跳转网页的信息求大神指教,chrome浏览器,
- Python tornado获取同一个页面不同form请求操作方法,pyt
- 邮件服务器之间SMTP通信应该怎么设置,邮件服务器sm
- 如何正确给多层package写打包的setup.py,packagesetup.py,se
- Python能实现编辑文本插入图片功能吗,,使用的是edito
- Linux管道符和ssh传文件,,看到可以用一条命令传输文
- pycharm方便Pyramid项目跳转怎样实现,pycharmpyramid,怎么让
- Python一行代码运行顺序是怎样的?,python一行代码顺序
- Python非命令行环境下如何看到程序效果,python命令行
- django web开妈中随机获取某个分类下的文章的方法,dj
评论关闭