• Python文件的操作处理,一看就会


    01 使用open()函数打开文件夹

    在读取一个文件的内容之前,需要先打开这个文件。在Python程序中可以通过内置函数open()来打开一个文件程序中,并用相关的方法读或写文件文件中的内容以供程序的处理和使用,同时可以将文件看作Python中的一种数据类型。

    open(filename, mode='r', buffering=None, encoding=None, errors=None,
    
      newline=None, closefd=True, opener=None)
    
    • 1
    • 2
    • 3

    open: 打开

    以读的方式:文本的方式, 二进制的方式

    以写的方式:文本的方式,二进制的方式

    写文件的时候:覆盖,追加(两种方式)

    当使用上述函数open()打开一个文件后, 就会放回一个文件对象。上述格式中主要参数的具体说明如下所示:

    filename:表示要打开的文件名。(路径+文件名)

    mode:模式。

    buffering:可选参数,缓冲区大小

    encoding:文件编码类型。

    文本文件才有可能需要编码,二进制文件不需要指定编码 否则会报出异常

    errors:编码错误处理方式。

    newline:控制通用换行符模式的行为。

    closefd:控制在关闭文件时是否彻底关闭文件。

    上述格式中,参数“mode”表示文件打开模式。在Python程序中,常用的文件打开模式如下表所示:

    图片

    下图很好的总结了这几种模式:

    图片

    #默认以文本读的方式打开
    
    file_obj = open("file.txt", encoding="utf-8")
    
    data = file_obj.read()
    
    print(data)
    
    file_obj.close()
    
    
    
    file_obj = open("file.txt", "rt", encoding="utf-8")
    
    data = file_obj.read()
    
    print(data)
    
    file_obj.close()
    
    
    
    file_obj = open("file.txt", "w", encoding="utf-8")
    
    data = file_obj.write("11111111111111111")
    
    print(data)
    
    file_obj.close()
    
    
    
    file_obj = open("file2.txt", "w", encoding="utf-8")
    
    data = file_obj.write("11111111111111111")
    
    print(data)
    
    file_obj.close()
    
    
    
    file_obj = open("file2.txt", "a", encoding="utf-8")
    
    data = file_obj.write("2222222222222")
    
    print(data)
    
    file_obj.close()
    
    
    
    file_obj = open("file3.txt", "a+", encoding="utf-8")
    
    file_obj.write("33333333333333333333333333")
    
    file_obj.close()
    
    
    
    file_obj = open("file.txt", encoding="utf-8")
    
    data = file_obj.read()
    
    file_obj.close()
    
    • 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
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65

    二进制的方式(打开):

    图片,音频,视频或者其他的非文本的文件

    #打开”IO.png“文件,并以二进制的方式读出,  b不能单独使用(b前的r不能省略)
    
    file_obj = open("IO.png", "rb")
    
    data = file_obj.read()
    
    print(data)
    
    #关闭文件
    
    file_obj.close()
    
    #以二进制的方式写入文件”psb_copy.jpg“
    
    file_obj = open("psb_copy.jpg", "wb")
    
    file_obj.write(data)
    
    #关闭文件
    
    file_obj.close()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    注意:“IO.png”文件中,以存入了一张照片。

    02 文件的操作

    以文本方式写入的文件, 无需指定编码以二进制方式写入文件,写入的内容要求为bytes,所以通过str.encode(‘utf-8’)来返回 bytes

    文件写操作:write()方法
    
    f.write("hello world")   #向目标文本文 件写入一行字符串                            
    
    f.write("hello world".encode("utf-8"))  # 向目标二进制文件写入一行字符串
    
    
    
    文件写操作:writelines()方法写入文件的字符串序列。
    
    seq = ["hello world 1\n", "nihao wohao 2"] f.writelines( seq ) 7/15
    
    
    
    文件读操作:read()方法从文件读取指定的字节数,如果未给定或为负则读取所有。
    
    ret = f.read() #默认全部读出
    
    ret = f.read(5) #读出指定长度字符
    
    
    
    文件读操作:readline()方法可以读出一行数据
    
    ret = f.readline() #读取一行 
    
    • 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

    注意:有个很像的 readlines()方法 ret = f.readlines() #返回的是一个列表,且返回的是你读取的字符所在行的整个内容,但是当数据较大时,这样的用法会很占用内存。

    03 使用File操作文件

    File对象中的属性信息如下表所示:

    图片

    在Python程序中,对象File时通过内置函数实现对文件操作的,其中常用的内置函数如下:

    图片


    资源分享

    下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】

    在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    【STA】(1)引言
    融云 IM & RTC 能力上新盘点
    《七月集训》第二十日——二叉搜索树
    kali Linux常用快捷键及vim的基本使用
    Tomcat9的安装以及配置环境
    神经网络(MLP多层感知器)
    大数据培训—DolphinSchedular(一)
    Spring事务
    【Python高级编程】Matplotlib 绘图中文显示问题与常见错误合集
    与图相关的一些算法
  • 原文地址:https://blog.csdn.net/m0_67695717/article/details/127435114