zoukankan      html  css  js  c++  java
  • 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')
  • 相关阅读:
    代码管理工具SonarQube的搭建和使用
    WebFlux Logs日志
    WebFlux WebClient异常处理
    WebFlux- WebClient(二)
    WebFlux- WebClient(一)
    WebFlux-Server-Sent Event服务器推送事件
    Reactive Stack
    Flink
    Gradle
    springboot
  • 原文地址:https://www.cnblogs.com/youmingkuang/p/7454123.html
Copyright © 2011-2022 走看看