鱼C论坛

 找回密码
 立即注册
查看: 2022|回复: 0

[技术交流] Python 入门L29文件—一个任务

[复制链接]
发表于 2017-7-13 05:57:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
任务:将文件(record.txt)中的数据进行分割并按照一下规律保存起来:
-小甲鱼的对话单独保存为boy_*.txt的文件(去掉“小甲鱼:”)
-小客服的对话单独保存为girl_*.txt的文件(去掉“小客服:”)
-文件中总共有三段对话,分别保存为boy_1.txt,girl_1.txt,boy_2.txt,girl_2.txt,
boy_3.txt,girl_3.txt共6个文件(提示:文件中不同的对话间已经使用“========”分割)
#将L29的重复部分封装成一个文件
def save_file(boy,girl,c):
   
   
    file_name_boy='boy'+str(c)+'.txt'
    file_name_girl='girl'+str(c)+'.txt'
    boy_file =open(file_name_boy,'w')
    girl_file =open(file_name_girl,'w')

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

    boy_file.close()
    girl_file.close()
        
def split_file(filename):
    f=open('F:\\record.txt')
    boy=[]
    girl=[]
    count=1
    for eachline in f:
        if eachline[:6]  != '======':
        #我们这里进行字符串分割操作,利用字符串内置方法里的split(sep=None,maxsplit=1)
            (role,linespoken)=eachline.split(':',1)
            if role=='小甲鱼':
                boy.append(linespoken)
            if role=='小客服':
                girl.append(linespoken)
               
        else:
            #文件的分别保存操作:
            save_file(boy,girl,count)
            boy=[]
            girl=[]
            count+=1
        
    save_file(boy,girl,count)

    f.close()

split_file('record.txt')

评分

参与人数 2荣誉 +2 鱼币 +3 收起 理由
康小泡 + 1
小甲鱼 + 2 + 2 支持楼主!

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 04:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表