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()

  • 相关阅读:
    利用 PhpStorm、Idea 等 IDE 如何 运行/调试 Go 程序 ?
    [Go] 函数/方法 的 变参
    PHP 如何显示大数字,防止显示为 科学计数法 形式
    PHP协程 详解
    [Go] 路径、目录名、包名、文件名
    [Go] 复合类型(数组、切片、字典、结构体)变量的 初始化 及 注意事项
    Firefox 及其 插件“个性化设置”备份
    Go
    [Go] template 常用方法详解 及 注意事项
    Go
  • 原文地址:https://www.cnblogs.com/JodyJoy1201/p/13560393.html
Copyright © 2011-2022 走看看