Python入门(二十四):读写二进制文件

点击跳转
《Python入门系列目录》


文章目录


  • 使用open()函数打开或创建一个文件时,可以指定打开模式为’b’,以打开二进制文件

  • 创建或打开文件对象

    • 通过内置函数open(),指定打开模式’b’,可以创建或打开二进制文件对象。可以指定覆盖模式(文件存在时)和缓存大小
    f1 = open('data1.dat', 'wb')    # 创建或打开data1.dat
    f2 = open('data2.dat', 'xb')	# 创建文件data2.dat,若data2.txt已存在,则导致FileExistsError
    f3 = open('data1.dat', 'ab')    # 创建或打开data1.dat,附加模式
    
  • 写入字节数据到二进制文件

    • 打开文件后,可以使用其实例方法write,写入字节数据(bytes或bytearray)到二进制文件

    • 可使用实例方法flush强制把缓冲的数据更新到文件中

      f.write(b)  # 将字节数据b写入到二进制文件f,返回是实际写入的字节数
      f.flush()   # 将缓冲的数据更新到文件中
      
  • 关闭文件

    • 可以使用close方法关闭流,以释放资源

    • 通常采用with语句,以保证系统自动关闭打开的流

      with open('data1.dat', 'wb') as f:
          f.write(b'123') # 写入字节数据
          f.write(b'abc') # 写入字节数据
      
  • 读取二进制文件

    • 打开文件

      f1 = open('data1.dat', 'rb')
      
    • 读取字符数据

      • f.read()
        • 从f中读取剩余内容直至文件结尾,返回一个bytes对象
      • f.read(n)
        • 从f中最多读取n个字节,返回一个bytes对象,如果n为负数或None,读取直至文件结尾
      • f.readinto(b)
        • 从f中最多读取len(b)个字节到bytes对象b

你可能感兴趣的:(#,Python基础,python)