• Python open 读写小栗子


    1、样本内容 A.txt

    2、上代码:

    f=open(r'E:A.txt','r')
    
    boyA=[]
    boyB=[]
    count =1
    
    for each_line in f:
        if each_line[:6]!='======':
            (role,line_spoken)=each_line.split(':',1)
            print((role,line_spoken))
            if role == 'A':
                boyA.append(line_spoken)
            if role =='B':
                boyB.append(line_spoken)
        else:
            file_name_boyA = r'E:oyA_'+str(count)+'.txt'
            file_name_boyB = r'E:oyB_' + str(count) + '.txt'
    
            boyA_file = open(file_name_boyA,'w')
            boyB_file = open(file_name_boyB, 'w')
    
            boyA_file.writelines(boyA)
            boyB_file.writelines(boyB)
    
            boyA_file.close()
            boyB_file.close()
    
            boyA = []
            boyB = []
            count += 1
    
    file_name_boyA = r'E:oyA_' + str(count) + '.txt'
    file_name_boyB = r'E:oyB_' + str(count) + '.txt'
    
    boyA_file = open(file_name_boyA,'w')
    boyB_file = open(file_name_boyB, 'w')
    
    boyA_file.writelines(boyA)
    boyB_file.writelines(boyB)
    
    boyA_file.close()
    boyB_file.close()
    
    f.close()

    3、上结果:

    4、代码优化一下

    #第二个函数
    def save_file(boyA,boyB,count):
        file_name_boyA = r'E:oyA_' + str(count) + '.txt'
        file_name_boyB = r'E:oyB_' + str(count) + '.txt'
    
        boyA_file = open(file_name_boyA, 'w')
        boyB_file = open(file_name_boyB, 'w')
    
        boyA_file.writelines(boyA)
        boyB_file.writelines(boyB)
    
        boyA_file.close()
        boyB_file.close()
    
    #第一个函数
    def split_file(file_name):
        f=open(file_name,'r')
    
        boyA = []
        boyB = []
        count = 1
        for each_line in f:
            if each_line[:6]!='======':
                (role,line_spoken)=each_line.split(':',1)
                print((role,line_spoken))
                if role == 'A':
                    boyA.append(line_spoken)
                if role =='B':
                    boyB.append(line_spoken)
            else:
                save_file(boyA, boyB, count)
    
                boyA = []
                boyB = []
                count += 1
    
        save_file(boyA,boyB,count)
    
        f.close()
    
    # 调用
    split_file(r'E:A.txt')
  • 相关阅读:
    MySQL 日志管理
    nginx 日志分割
    Canvas 动态小球重叠效果
    Canvas制作动态进度加载水球
    js 多张爆炸效果轮播图
    js 多张图片加载 环形进度条
    INSTALL_FAILED_CONFLICTING_PROVIDER
    安卓 文件管理器 各种应用 源码
    android 静音
    android studio 查看大纲
  • 原文地址:https://www.cnblogs.com/youmingkuang/p/7454123.html
Copyright © 2020-2023  润新知