|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#小甲鱼的对话单独保存为boy_*.txt,去掉”小甲鱼:“
#小客服的对话单独保存为girl_*.txt,去掉”小客服:“
#文件中一共有三段对话,分别保存为boy_1.txt,boy_2.txt,boy_3.txt
#以及girl_1.txt,girl_2.txt,girl_3.txt共6个文件
f=open(r"C:\Users\Administrator\Desktop\python\record.txt","r")
f.seek(0,0) #从文件头开始
string=f.read() #讲txt里面的东西赋值给字符串string
boy_1=open(r"C:\Users\Administrator\Desktop\python\boy_1.txt",'a')
boy_2=open(r"C:\Users\Administrator\Desktop\python\boy_2.txt",'a')
boy_3=open(r"C:\Users\Administrator\Desktop\python\boy_3.txt",'a')
girl_1=open(r"C:\Users\Administrator\Desktop\python\girl_1.txt",'a')
girl_2=open(r"C:\Users\Administrator\Desktop\python\girl_2.txt",'a')
girl_3=open(r"C:\Users\Administrator\Desktop\python\girl_3.txt",'a')
sign=[0] #存放换行符的位置,换行符是有每个句子结尾和句子开头都有
j=0 #一个换行符,例如‘女朋友?\n\n小甲鱼:咦???\n\n小客服:我跟:’
while string[j]!='-':
for j in range(len(string)): #max(sign)找最大值,越往后的换行符的位置参数越大,就是离当前换行符最近的那一个换行符的位置
if string[j]=='\n' and "小客服:" in string[max(sign),j]:
boy_1.write(string[max(sign)+4,j] #+4的目的是避免将”小甲鱼:“,”小客服:“放入文件中
j+=1 #跳过第二个换行符,开始新一轮判别
sign.append(j) #sign.append(j+1)存放换行符的位置
else string[j]=='\n' and "小甲鱼:" in string[max(sign),j] :
girl_1.write(string[max(sign)+4,j]
j+=1
sign.append(j)
location_1=j #存放第一次出现‘-’的位置
if string[location_1]=='-': #循环跳过所有的‘-’符号之后,在开始存放数据
location_1+=1
else:
while string[location_1]!='-':
for m in range(location_1,len(string)):
if string[m]=='\n' and "小客服:" in string[max(sign),m]:
boy_2.write(string[max(sign)+4,m] #+4的目的是避免将”小甲鱼:“,”小客服:“放入文件中
m+=1
sign.append(m)
else string[m]=='\n' and "小甲鱼:" in string[max(sign),m] :
girl_2.write(string[max(sign)+4,m]
m+=1
sign.append(m)
location_2=m #存放第一次出现‘-’的位置
if string[location_2]=='-': #循环跳过所有的‘-’符号之后,在开始存放数据
location_2+=1
else:
while string[location_2]!='-':
for n in range(location_2,len(string)):
if string[n]=='\n' and "小客服:" in string[max(sign),n]:
boy_3.write(string[max(sign)+4,n] #+4的目的是避免将”小甲鱼:“,”小客服:“放入文件中
n+=1
sign.append(n)
else string[n]=='\n' and "小甲鱼:" in string[max(sign),n] :
girl_3.write(string[max(sign)+4,n]
n+=1
sign.append(n)
不是j += 1处有错,是前面那句boy_1.write(string[max(sign)+4,j]漏了右括号
Python标红报错经常会标到别的地方,你前后看看语法错误在哪里就好了。
|
|