|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- boy = []
- girl = []
- count = 1
- for each_line in f:
- if each_line[:6]!='======':
- (role,line_spoken)=each_line.split(':',1)
- if role =='小甲鱼':
- boy.append(line_spoken)
- if role == "小美女":
- girl.append(line_spoken)
- else:
- file_name_boy = "boy" +str(count)+'.txt'
- file_name_gilr='girl'+str(count)+'.txt'
-
- boy_file = open(file_name_boy,'w')
- girl_file = open(file_name_boy,'w')
-
- boy_file.writelines(boy)
- girl_file.writelines(girl)
-
- boy_file.close()
- girl_file.close()
-
- boy = []
- gilr = []
- count+=1
- f.close()
复制代码
这段代码为什么只产生文件1和2啊?
怎么不产生文件3呢?
本帖最后由 宫保鸡丁丁 于 2017-10-20 01:03 编辑
因为没有第三次的'========'作为结束,当第三次遍历完后没有执行else的那段代码,但是第三次的 if 已经执行了,此时的boy = []和girl = []都有相应的字符串.所以在循环外在进行最后一次文件的写入和保存并退出,30行中的f.close()是关闭最先开始也就是循环之前的文件
|
|