niguanfeixian 发表于 2020-3-9 21:31:36

《零基础入门学习Python》中8.1.6

在8.1.6节一个任务中为什么我按照书上的代码运行了一遍,结果是每一句话都单独保存了,貌似是if each_line[:6] != '======' :没有起作用?求大佬解惑?

Hoiste 发表于 2020-3-9 21:48:42

问问题要发代码啊,要不然怎么知道问题在哪呢

zltzlt 发表于 2020-3-9 21:51:18

把你的完整代码发上来

niguanfeixian 发表于 2020-3-11 20:43:10

本帖最后由 niguanfeixian 于 2020-3-12 13:56 编辑

zltzlt 发表于 2020-3-9 21:51
把你的完整代码发上来

count = 1
boy = []
girl = []

f = open(r"C:\Users\***\Desktop\record.txt")

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:
            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)
            #writelines(seq)向文件写入字符串序列seq,seq应该是一个返回字符串的可迭代对象
            girl_file.writelines(girl)

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

   
file_name_boy = 'boy_' + str(count) + '.txt'
file_name_girl = 'girl_' + str(count) + '.txt'            

boy_file = open(r"C:\Users\***\Desktop\record.txt%s" % file_name_boy, 'w')
girl_file = open(r"C:\Users\***\Desktop\record.txt%s" % file_name_girl, 'w')

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

boy_file.close()
girl_file.close()
f.close()
都是参照《零基础入门学习Python》P108页敲的,运行没有问题,就是结果显示有问题。
页: [1]
查看完整版本: 《零基础入门学习Python》中8.1.6