狗宁 发表于 2020-6-25 16:06:59

Python 029讲两种运行方式显示不同结果???

源代码是这样的(和甲鱼老师敲的一样)
f = open('C:\\Users\\29072\\Desktop\\record.txt')

boy = []
girl = []
count = 1


for each_line in f:
    if each_line != '======':#分割
      (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_girl = 'girl_' + str(count) + '.txt'

      boy_file = open(file_name_boy,'w')
      girl_file = open(file_name_girl,'w')
      
      boy_file.writelines(boy)
      girl_file.writelines(girl)

      boy_file.close
      girl_file.close

      boy = []
      girl = []
      count += 1

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(boy)
girl_file.writelines(girl)

boy_file.close
girl_file.close

f.close()

然后第一种是双击text1.py运行的,boy3和girl3都有内容
第二种在python中F5运行却没有boy3和girl3(有文件没有内容)
大佬们知道是怎么回事吗?

Twilight6 发表于 2020-6-25 16:11:49


boy_file.close
girl_file.close

文件忘记关闭了, 你补上应该都会一样了

f = open('C:\\Users\\29072\\Desktop\\record.txt')

boy = []
girl = []
count = 1

for each_line in f:
    if each_line != '======':# 分割
      (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_girl = 'girl_' + str(count) + '.txt'

      boy_file = open(file_name_boy, 'w')
      girl_file = open(file_name_girl, 'w')

      boy_file.writelines(boy)
      girl_file.writelines(girl)

      boy_file.close()
      girl_file.close()

      boy = []
      girl = []
      count += 1

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(boy)
girl_file.writelines(girl)

boy_file.close()
girl_file.close()

f.close()

狗宁 发表于 2020-6-25 16:18:05

Twilight6 发表于 2020-6-25 16:11
文件忘记关闭了, 你补上应该都会一样了

啊!忘打括号了{:5_95:}

小甲鱼的铁粉 发表于 2020-6-25 16:25:05

我来学习一下{:10_256:}
页: [1]
查看完整版本: Python 029讲两种运行方式显示不同结果???