29讲,为什么第一个j+=1处会报错
#小甲鱼的对话单独保存为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= #存放换行符的位置,换行符是有每个句子结尾和句子开头都有
j=0 #一个换行符,例如‘女朋友?\n\n小甲鱼:咦???\n\n小客服:我跟:’
while string!='-':
for j in range(len(string)): #max(sign)找最大值,越往后的换行符的位置参数越大,就是离当前换行符最近的那一个换行符的位置
if string=='\n' and"小客服:" in string:
boy_1.write(string #+4的目的是避免将”小甲鱼:“,”小客服:“放入文件中
j+=1 #跳过第二个换行符,开始新一轮判别
sign.append(j) #sign.append(j+1)存放换行符的位置
else string=='\n' and"小甲鱼:" in string :
girl_1.write(string
j+=1
sign.append(j)
location_1=j #存放第一次出现‘-’的位置
if string=='-': #循环跳过所有的‘-’符号之后,在开始存放数据
location_1+=1
else:
while string!='-':
for m in range(location_1,len(string)):
if string=='\n' and"小客服:" in string:
boy_2.write(string#+4的目的是避免将”小甲鱼:“,”小客服:“放入文件中
m+=1
sign.append(m)
else string=='\n' and"小甲鱼:" in string :
girl_2.write(string
m+=1
sign.append(m)
location_2=m #存放第一次出现‘-’的位置
if string=='-': #循环跳过所有的‘-’符号之后,在开始存放数据
location_2+=1
else:
while string!='-':
for n in range(location_2,len(string)):
if string=='\n' and"小客服:" in string:
boy_3.write(string#+4的目的是避免将”小甲鱼:“,”小客服:“放入文件中
n+=1
sign.append(n)
else string=='\n' and"小甲鱼:" in string :
girl_3.write(string
n+=1
sign.append(n)
不是j += 1处有错,是前面那句boy_1.write(string漏了右括号
Python标红报错经常会标到别的地方,你前后看看语法错误在哪里就好了。 Hoiste 发表于 2020-3-25 22:36
不是j += 1处有错,是前面那句boy_1.write(string漏了右括号
Python标红报错经常会标到别 ...
还可以这样,谢谢,学到了
页:
[1]