zoukankan      html  css  js  c++  java
  • python学习之路 四 :文件处理

    本节重点

    • 掌握文件的读、写、修改方法

    • 掌握文件的处理模式的区别

     一.文件读取

    ​    ​1.读取全部内容

    # 一次性读取文件
    f = open("test.txt",'r',encoding='gbk')
    data = f.read()
    print(data)
    f.close()

        ​2.按行读取

    # 按行读取
    f = open("test.txt",'r',encoding='gbk')
    data = f.readline()
    print(data,end='')
    f.close()

    ​    ​3.循环读取

    # 循环读取
    f = open("test.txt",'r',encoding='gbk')
    for line in f:
        print(line,end='')
    f.close()
    # 循环读取二
    f = open('test.txt','r',encoding='gbk')
    data = f.readlines()
    for line in data:
        print(line)

        ​4.二进制读取

    # 二进制读取
    f = open("test.txt",'rb')
    data = f.read()
    print(data.decode('gbk'))
    f.close()

        ​5.按字符读取

    # 按字节读取
    f = open("test.txt",'r',encoding='gbk')
    data = f.read(1)
    print(data)
    f.close() f
    = open("test.txt",'r',encoding='gbk') data = f.readline(2) print(data)
    f.close()

     二.文件写入

        ​1.清空原内容写入

    # 清空原内容写入
    f = open('test.txt','w',encoding='gbk')
    f.wirte('新内容,新世界')
    f.close()   # 关闭并保存

    ​    ​2.追加内容

    # 清空原内容写入
    f = open('test.txt','a',encoding='gbk')
    f.wirte('新内容,新世界')
    f.close()   # 关闭并保存

        ​3.二进制写入

    # 清空原内容写入
    f = open('test.txt','wb')
    f.wirte('新内容,新世界'.encode('gbk'))
    f.close()   # 关闭并保存

        ​4.flush保存

    # flush强刷保存内容
    f = open('test2.txt','w',encoding='gbk')
    f.write('新内容,新世界3')
    f.flush()  #保存内容
    
    #f.close()

     三.文件修改

    ​    ​1.一次性修改,占用cpu

    # 一次性修改
    f = open("test.txt",'r+',encoding='gbk')
    data = f.read()
    f.seek(0)
    f.truncate()
    data = data.replace('Zi','')
    f.write(data)
    f.close()

        ​2.边读边改,占用硬盘

    # 边读边改
    import os
    f_name = "test.txt"
    f_temp_name = "test_temp.txt"
    f = open(f_name,'r',encoding='gbk')
    f_temp = open(f_temp_name,'w',encoding='gbk')
    for line in f:
        f_temp.write(line.replace('','Zi'))
    f.close()
    f_temp.close()
    os.replace(f_temp_name,f_name)

      四.文件处理模式

  • 相关阅读:
    插件式编程之使用反射分离MDI的父窗口和子窗口
    我总结的三层结构之一:Model示例
    我总结的三层结构之二:IDAL示例
    02.08 代理模式
    02.09 装饰模式
    块元素、行元素容纳规则
    CSS继承选择器与包含选择器的比较
    02.07 适配器模式
    02.10 桥模式
    匿名方法
  • 原文地址:https://www.cnblogs.com/LTEF/p/9395106.html
Copyright © 2011-2022 走看看