• python文件操作


    1.文件的编码

    • 编码技术:一种翻译的规则集合,记录如何将内容翻译成二进制,以及如何让将二进制翻译回可识别内容。常见的编码有UTF-8(最常用)、GBK、Big5等。
    • 为什么要使用编码:计算机只认识0和1,所以需要将内容翻译成0he1才能保存在计算机中,同时也需要编码将计算机保存的0和1,反向翻译成可以识别的内容。

    2.文件的读取

    • 打开文件函数open:可以打开一个已经存在的文件,或者创建一个新文件,语法如下 open(name,mode,encoding)
    • name:要打开的目标文件名的字符串(可包含文件所在的具体路径)。
    • mode:设置打开的模式:只读r、写入w(原有的内容会删除)、追加a(新内容写入到已有的内容之后)等。
    • encoding:编码格式。
    示例:

    f=open(‘python.txt’,‘r’,encoding=“UTF-8”)
    读操作相关的方法
    read(num):num表示要从文件中读取的数据的长度(单位是字节),如果没有传入num,表示读取文件中所有的数据。
    readlines():readlines可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素。
    readline():一次读取一行
    for line in f:可通过for循环一行一行读取文件。
    close:关闭打开的文件。
    with open:通过with open打开的文件可以操作完可以自动关闭。

    代码演示:
    # 打开文件
    f = open("D:/quiz.txt","r",encoding="UTF-8")
    # 读取文件:read(num)
    print(f.read())
    # 关闭文件重新打开,不然下面受上一个读取影响打开为空
    f.close()
    f = open("D:/quiz.txt","r",encoding="UTF-8")
    # 读取文件:readlines()
    print(f.readlines())
    # 关闭文件重新打开,不然下面受上一个读取影响打开为空
    f.close()
    f = open("D:/quiz.txt","r",encoding="UTF-8")
    # 读取文件:readline()
    print(f.readline())
    # 关闭文件重新打开,不然下面受上一个读取影响打开为空
    f.close()
    f = open("D:/quiz.txt","r",encoding="UTF-8")
    # 可用for循环输出每一行
    for line in f:
        print(line)
    # 关闭文件重新打开,不然下面受上一个读取影响打开为空
    f.close()
    f = open("D:/quiz.txt", "r", encoding="UTF-8")
    # 通过with open打开的文件可以操作完可以自动关闭
    with open("D:/quiz.txt", "r", encoding="UTF-8") as f:
        f.read()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    3.文件的写入

    • open(“D:/write.txt”,“w”,encoding=“UTF-8”)
    • write():写入文件,直接调用write,内容并未真正写入文件,而是会积攒在程序的内存中,称之为缓冲区。
    • flush():刷新内容,当调用flush的时候,内容会真正写入文件。这样做是避免频繁的操作硬盘,导致效率下降(攒一堆,一次性写磁盘)。
    代码演示:
    # 打开文件,一个不存在的文件。注意:当打开的文件不存在,会直接创建,如果存在会直接清空
    f = open("D:/write.txt","w",encoding="UTF-8")
    # write写入文件
    f.write("quiz write.")
    # flush刷新内容
    f.flush()
    # close关闭文件
    f.close()
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    4.文件的追加

    open(“D:/write.txt”,“a”,encoding=“UTF-8”)
    其他操作与w模式文件的写入一致,只是a模式与w模式打开文件时不会清空文件。

    代码演示:
    # 打开文件,一个存在的文件。注意:a模式打开当打开的文件不存在,会直接创建,如果存在不会清空
    f = open("D:/write.txt","a",encoding="UTF-8")
    # write写入文件
    f.write("quiz write.")
    # flush刷新内容
    f.flush()
    # close关闭文件
    f.close()
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
  • 相关阅读:
    Docker在边缘计算中的崭露头角:探索容器技术如何驱动边缘计算的新浪潮
    奔走相告,一波福利来袭! “Python量化场景编程技术手册”出炉!
    Mysql InnoDB引擎 的hash索引
    Camtasia2024破解版电脑屏幕录制剪辑软件
    【设计模式】使用建造者模式组装对象并加入自定义校验
    前端面试题
    Nginx代理服务器和真实后端服务器都配置了跨域导致的跨域问题
    代理模式介绍及具体实现(设计模式 三)
    Vue | Vue.js 组件化 - 组件间通信
    Linux文件系统
  • 原文地址:https://blog.csdn.net/LingDIHong/article/details/134279505