文件的使用

文件的使用

打开文件的方式:

f = open("E:\\www.txt",encoding = 'utf-8')

'r'------以只读的方式打开文件(默认)

'w'------以写入的方式打开文件,会覆盖已存在的文件,(没有就会创建)

'x'------若已有此文件,用x打开将引发异常

'a'------以写入模式打开,如已存在则在末尾加入

'b'------一二进制模式打开文件

't'------以文本模式打开(默认)

'+'------可读写模式(可添加到其他模式中使用)

'u'------通用换行符支持

其他函数

f.close() 关闭文件
f.read() 赋值:读所给值的所有字节 不赋值:读取剩下所有字节
f.readline()读出所在行
f.write(str) 向文件写入字符串seq,seq应是一个返回字符串的可迭代对象
f.writelines(seq) 向文件写入字符串seq
f.seek(offset,from) 在文件中移动文件指针,从fron(0代表文件起始位置,1代表当前位置,2代表文件末尾)偏移offset个字节。f.seek(0,0)是回到文件的起始位置
f.tell() 返回当前在文件夹中的位置

将一个文本文件按照内容讲述者拆分

把record.txt里面的小甲鱼与小客服的对话,拆分为几个两个txt文件,分别记录小甲鱼的话、小客服的话。

record.txt
小客服:小甲鱼,今天有客户问你有没有女朋友!!
小甲鱼:咦???
小客服:我跟她说你有女朋友了!
小甲鱼:。。。。。
小客服:"她让你分手后考虑下她!然后我说您要买个优盘,我就帮您留意下~"
小甲鱼:然后呢?
小客服:她买了两个,说发一一个货就好~
小甲鱼:呃。?。。。。。你真牛!
小客服:那是,谁让我是鱼C最可爱小客服嘛~
小甲鱼:下次有人想调戏你我不阻止~
小客服:滚!!!
==========================================================
小客服:小甲鱼,有个好评很好笑哈。
小甲鱼:哦?
小客服:"有了小甲鱼,以后妈妈再也不用担心我的学习了~”
小甲鱼:哈哈哈,我看到丫,我还发微博了呢~
小客服:嗯嗯,我看了你的微博丫~小甲鱼哟西~
小客服:那个有条回复"左手拿著小甲魚,右手拿著打火機,哪裡不會點哪裡,?soeasy^...^"
小甲鱼:T_T
=============================================================
小客服:小甲鱼?,今天一?一个会员想找你
小甲鱼:哦?什么事?
小客服:他说你一个学生月薪已经超过12k了!?!
小甲鱼:哪里的?
小客服:上海的
小甲鱼:那正常,哪家公司?
小客服:他没说呀。
小甲鱼:哦
小客服:老大,为什么我工资那么低啊???是时候涨张工资了!!!
小甲鱼:啊,你说什么?我在外边呢,这里好吵吖。。。。。。
小客服:滚!!!

split.py

f =open("record.txt",encoding='utf-8')

boy = []
girl = []
count = 1

for each_line in f:
    if each_line[:6] != "======":
        (role,line_spoken) =each_line.split(":",)
        #我们在这里进行字符串分割操作
        if role == '小甲鱼':
            boy.append(line_spoken)
        if role == '小客服':
            girl.append(line_spoken)
    else:
        #我们对文件分别保存起来
        file_name_boy = 'boy_' + str(count) +'.txt'
        file_name_girl = 'girl_' + str(count) +'.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()
        
        boy = []
        girl = []
        count += 1

f.close()

split_each_line.py

def save_file(boy,girl,count):
    file_name_boy = 'boy_' + str(count) +'.txt'
    file_name_girl = 'girl_' + str(count) +'.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(file_name):
    f =open("record.txt",encoding='utf-8')

    boy = []
    girl = []
    count = 1
    
#我们在这里进行字符串分割操作
    for each_line in f:
        if each_line[:6] != "======":
            (role,line_spoken) =each_line.split(":",)
        if role == '小甲鱼':
            boy.append(line_spoken)
        if role == '小客服':
            girl.append(line_spoken)
        else:
            save_file(boy,girl,count)
        
            boy = []
            girl = []
            count += 1

#我们对文件分别保存起来
    save_file(boy,girl,count)

    f.close()

split_file('record.txt')

posted @ 2022-09-14 11:25  Dinesaw  阅读(241)  评论(0编辑  收藏  举报