最近在看小甲鱼的视频,把写的文件切割代码拿出来捋捋
#-*- coding:utf-8 -*-
f = open('foo.txt')
man=[] #定义两个空列表
women=[]
count= 1 #初始化计数器
for each_line inf:if each_line[:6] != '======': #如果文档未遇到分隔符,则切割
(role,line_spoken)= each_line.split(':',1)#遇到冒号则切割1次if role == 'boy':
man.append(line_spoken) #将角色boy的话添加到man列表if role == 'girl':
women.append(line_spoken)else:
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(man)#将列表内容分别写入文件
girl_file.writelines(women)
boy_file.close()
girl_file.close()
man=[]
women=[]
count+= 1file_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(man)
girl_file.writelines(women)
boy_file.close()
girl_file.close()
f.close()
升级版代码捋捋
#-*- coding:utf-8 -*-
#自定义保存文件函数
def save_file(man, women, 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(man)
girl_file.writelines(women)
boy_file.close()
girl_file.close()
#自定义分割文件函数
def fenge(filename):
f = open(filename)
man = []
women =[]
count = 1
for each_line in f:
if each_line[:6] != '======':
(role,line_spoken) = each_line.split(':', 1)
if role == 'boy':
man.append(line_spoken)
if role == 'girl':
women.append(line_spoken)
else:
save_file(man, women, count)
man = []
women = []
count += 1
save_file(man, women, count)
f.close()
fenge('foo.txt')
END!