美文网首页
Python 文件打开,读取,写入。

Python 文件打开,读取,写入。

作者: _发强 | 来源:发表于2018-01-23 13:44 被阅读0次

    前言介绍:

    有一个文本文件,内容为以下格式:

    小甲鱼:哈喽
    小客服:how are you 
    小甲鱼: 你在弄啥嘞
    小客服:没弄啥啊。
    小甲鱼:今天业务咋样。
    小客服:还行,客户不多。
    小甲鱼:那岂不是很悠闲。
    小客服:还好吧。
    ================================
    小甲鱼:这是第二段了,
    小客服:恩,好的。
    小甲鱼:那好吧。我们开始。
    小客服:行,那你先说。
    小甲鱼:为什么不是你先说。
    小客服:那算了,就这样吧。
    ==============================
    小甲鱼:哎呀,我这是服了你了。
    小客服:哼哼,咋样。厉害不。
    小甲鱼:行行行,你厉害行了吧。
    小客服:那必须滴。快道歉。
    小甲鱼:切,我就不道歉。
    小客服:呵,那就再见咯。
    

    以 ===== 为界限,分成三份文本文件。并且,要把小甲鱼,和小客服的对话内容分开。最终也就是六份文本文件。

    实现

    以下是实现代码:

    # coding=UTF-8
    import codecs   #这里导入了一个 `codecs` 库来进行文件操作。
    
    def saveFile(boy ,girl ,count):
        '生成文件,并写入内容。'
        file_name_boy = 'boy_'+str(count)+'.txt'
        file_name_girl = 'girl_'+str(count)+'.txt'
        boy_file = codecs.open(file_name_boy , 'w' ,'UTF-8')
        girl_file = codecs.open(file_name_girl,'w','UTF-8') ## 这里创建,并写入文件,指定编码为 utf-8
        
        boy_file.writelines(boy)
        girl_file.writelines(girl)
        
        boy_file.close()
        girl_file.close()
    
    
    def splitFile(fileName):
        '实现文件切割逻辑'
        f = codecs.open(fileName,'r','UTF-8')
    
        ##f = open('/Users/apple/Desktop/talking.txt')
        boy = []
        girl = []
        count =1
    
        for each in f: ## 这里直接对 file 进行遍历,一次为一行。
            if each[:6] !='======':
                (role , line_spoken) = each.split(':',1) ##这里第二个参数为1 也就是切割一次,生成两个字符串,所以前面以两个字符串来接收。
                if role == '小甲鱼':
                    boy.append(line_spoken)
                if role == '小客服':
                    girl.append(line_spoken)
    
            else :
                saveFile(boy ,girl ,count)
                count +=1
    
                boy = []
                girl=[]
    
        saveFile(boy ,girl ,count)
    
        f.close()
    
    splitFile('/Users/apple/Desktop/talking.txt')
    
    

    相关文章

      网友评论

          本文标题:Python 文件打开,读取,写入。

          本文链接:https://www.haomeiwen.com/subject/qgrsaxtx.html