python读取文件,分类创建

python 读取文件,分类创建

共2版,第二版仅仅分块

给出record.txt

客服:您好,工号001为您服务!  
客户:1丽购物吗?  
客服:是的,请问有什么可以帮您?   
客户:是澳达吗?  
客服:是的,请问有什么可以帮您? 
客户:那我刚才怎么听到丽赫购物? 
客服:那是由于公司业务扩张,原澳琳达售后  部门升级为丽赫购物公司,并增加了更多新的优质商品提供给客户。   订购电话 所有订购程序结束后应与客户确认信息,避免差错。 
客服: *先生/小姐你好,最后跟您确认一下信息,您订购的商品是***商品***个(……),赠品是***,总价***元,送货地址***,送货时间***,联系电话***,您看对吗? 
客户:是的。 
客服:*先生/小姐,请问您还有其他问题需要咨询吗? 
客户:没有了。 
客服:感谢您的订购,欢迎再次来电!
===========================
客服:您好,工号002为您服务!  
客户:2丽购物吗?  
客服:是的,请问有什么可以帮您?   
客户:是澳达吗?  
客服:是的,请问有什么可以帮您? 
客户:那我刚才怎么听到丽赫购物? 
客服:那是由于公司业务扩张,原澳琳达售后  部门升级为丽赫购物公司,并增加了更多新的优质商品提供给客户。   订购电话 所有订购程序结束后应与客户确认信息,避免差错。 
客服: *先生/小姐你好,最后跟您确认一下信息,您订购的商品是***商品***个(……),赠品是***,总价***元,送货地址***,送货时间***,联系电话***,您看对吗? 
客户:是的。 
客服:*先生/小姐,请问您还有其他问题需要咨询吗? 
客户:没有了。 
客服:感谢您的订购,欢迎再次来电!
===============================
客服:您好,工号003为您服务!  
客户:3丽购物吗?  
客服:是的,请问有什么可以帮您?   
客户:是澳达吗?  
客服:是的,请问有什么可以帮您? 
客户:那我刚才怎么听到丽赫购物? 
客服:那是由于公司业务扩张,原澳琳达售后  部门升级为丽赫购物公司,并增加了更多新的优质商品提供给客户。   订购电话 所有订购程序结束后应与客户确认信息,避免差错。 
客服: *先生/小姐你好,最后跟您确认一下信息,您订购的商品是***商品***个(……),赠品是***,总价***元,送货地址***,送货时间***,联系电话***,您看对吗? 
客户:是的。 
客服:*先生/小姐,请问您还有其他问题需要咨询吗? 
客户:没有了。 
客服:感谢您的订购,欢迎再次来电!

文本注意事项:上面的record.txt中的对话,用============分成3部分。(仅仅1,2句话不同)

代码注意事项:用\来转义(文件路径)

其他注释见代码内部

第一版

f=open('D:\\alife\\python\\xiaojiayu\\record.txt','r',encoding='utf-8')
#默认是gb,尽量改成encoding='utf-8'
customer=[]
customerServer=[]
count=1
for each_lines in f:
    if each_lines[:4] != '====':
        if each_lines[:2]=='客服':    #一个子占据一个下标
            customer.append(each_lines)
        elif each_lines[:2]=='客户':
            customerServer.append(each_lines)
    else:
        file_name_c='客户'+str(count)+'.txt'
        file_name_cs='客服'+str(count)+'.txt'
        
        f_customer=open(file_name_c,'w',encoding='utf-8')
        f_customerServer=open(file_name_cs,'w',encoding='utf-8')

        #
        
        f_customer.writelines(customer)
        f_customerServer.writelines(customerServer)

        f_customer.close()
        f_customerServer.close()
        
        customer=[]
        customerServer=[]
        count+=1
        
#就此结束的话没有第3次谈话
#此时2个列表已经填满
file_name_c='客户'+str(count)+'.txt'
file_name_cs='客服'+str(count)+'.txt'
        
f_customer=open(file_name_c,'w',encoding='utf-8')
f_customerServer=open(file_name_cs,'w',encoding='utf-8')

           
f_customer.writelines(customer)
f_customerServer.writelines(customerServer)

f_customer.close()
f_customerServer.close()
            
customer=[]
customerServer=[]

        


f.close()
## 第2版(函数版本)

```python

def separation (X):
    '''填X=.txt的路径
    '''
    f=open(X,'r',encoding='utf-8')
    #默认是gb,尽量改成encoding='utf-8'
    customer=[]
    customerServer=[]
    count=1  
    for each_lines in f:
        if each_lines[:4] != '====':
            if each_lines[:2]=='客服':    #一个子占据一个下标
                customer.append(each_lines)
            elif each_lines[:2]=='客户':
                customerServer.append(each_lines)
        else:
            CreatTxt(customer,customerServer,count)
            customer=[]
            customerServer=[]
            count+=1
    CreatTxt(customer,customerServer,count)
    customer=[]
    customerServer=[]
    f.close()       
#就此结束的话没有第3次谈话
#此时2个列表已经填满
def CreatTxt(customer,customerServer,count):
    file_name_c='客户'+str(count)+'.txt'
    file_name_cs='客服'+str(count)+'.txt'
            
    f_customer=open(file_name_c,'w',encoding='utf-8')
    f_customerServer=open(file_name_cs,'w',encoding='utf-8')

               
    f_customer.writelines(customer)
    f_customerServer.writelines(customerServer)

    f_customer.close()
    f_customerServer.close()

    #错误            
    #customer=[]仅仅是内部的list进行改变
    #customerServer=[]


      
separation ('D:\\alife\\python\\xiaojiayu\\record.txt')
#函数调用


在这里插入图片描述
在这里插入图片描述

函数调用时,注意变量的作用范围。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值