zoukankan      html  css  js  c++  java
  • 【Python学习日记】B站小甲鱼:文件

    文件的打开模式(open的参数)

    文件对象的方法

    f.close()  关闭文件

    f.read(size = -1)  读出size个字符

    f.readline()  按行读取文本

    f.tell()  可以返回当前指针的位置

    f.seek(offset, from)  在文件中移动指针,从from开始移动offset个字节。比如f.seek(0,0)可以把指针重置到首位

    list()  可以把文件内容变成列表

    用下面的方法按行可以读取出文件的内容

    for eachline in f:
        print(eachlie)

    文件的写入

    f.write()  在写完执行f.close()以后就可以写入文件

    f.write()  按行写

    练习-文件分割

    def save_file(chuang,bb,count):
        file_name_chuang = 'chuang_' + str(count) + '.txt'
        file_name_bb = 'bb_' + str(count) + '.txt'
    
        chuang_file = open(file_name_chuang, 'w', encoding="utf-8")
        bb_file = open(file_name_bb, 'w', encoding="utf-8")
    
        chuang_file.writelines(chuang)
        bb_file.writelines(bb)
    
        chuang_file.close()
        bb_file.close()
    
    def split_file(filename):
        f = open(filename,"rt", encoding="utf-8")
    
        chuang = []
        bb =[]
        count =1
    
        for eachline in f:
            if eachline[:6] != '======':
                #字符串分隔
                (role,linespoken) = eachline.split('',1)
                if role =='':
                    chuang.append(linespoken)
                if role == '彬彬':
                    bb.append(linespoken)
            else:
                save_file(chuang,bb,count)
    
                chuang = []
                bb = []
                count +=1
    
        save_file(chuang,bb,count)
    
        f.close()
    
    split_file('record.txt')

    这个练习的操作文件是一个以 “=======”为分割行的对话,闯说一句,bb说一句。通过冒号:将文件的每一行进行分隔,写入新的文件保存。

    使用了两个方法 分隔split_file()和保存save_file()

  • 相关阅读:
    16061109-第0次个人作业
    面向对象第四次总结
    面向对象5-7次作业总结
    2018 OO第一次总结(作业1-3)
    (最终作业)面向对象先导课课程总结
    HTML学习笔记
    实验八 进程间通信
    信号
    进程基础
    shell脚本编程
  • 原文地址:https://www.cnblogs.com/JodyJoy1201/p/13560393.html
Copyright © 2011-2022 走看看