sunfangyunayi 发表于 2020-10-21 21:56:38

为什么双击.py文件执行的结果和打开文件后通Run-Run Moudle执行的结果不一样

小甲鱼老师的第二十九节课《一个任务》,按照老师的步骤自己模仿着编写了下列语言,保存py文件后,双击文件执行结果完全正确。但在py文件的录入界面,通过Run-run Moudle执行的结果,boy3.txt文件和girl3.txt文件里内容为空,请问各位前辈和学长是怎么回事?

f=open('d:\\record.txt')
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:
      boy_file_name='boy'+str(count)+'.txt'
      girl_file_name='girl'+str(count)+'.txt'
      boy_file=open(boy_file_name,'w')
      girl_file=open(girl_file_name,'w')
      boy_file.writelines(boy)
      girl_file.writelines(girl)
      boy=[]
      girl=[]
      count+=1
      boy_file.close
      girl_file.close
boy_file_name='boy'+str(count)+'.txt'
girl_file_name='girl'+str(count)+'.txt'
boy_file=open(boy_file_name,'w')
girl_file=open(girl_file_name,'w')
boy_file.writelines(boy)
girl_file.writelines(girl)
boy_file.close
girl_file.close
f.close
      

昨非 发表于 2020-10-21 22:11:07

小甲鱼视频里讲的说第三份对话会被for循环跳过,
要在spilt分割函数关闭文件前加上
      save_file(boy,girl,count)#第三段内容(上方for循环漏掉一次写入)
      f.close()   
你这个代码和视频有些出入,不好发现问题,不过可以找找是不是这个原因导致的
页: [1]
查看完整版本: 为什么双击.py文件执行的结果和打开文件后通Run-Run Moudle执行的结果不一样