Python IO基础

2020/06/17 Python 共 914 字,约 3 分钟

在内存中存在数据交换的操作认为是IO操作

字节串

  1. ascii编码字符串(英文及符号)转换为二进制字节串:在前面加b,例如:b’hello’

  2. UTF-8编码字符串转换为二进制字节串使用encode(),例如:’你’.encode()
    二进制字节串转换为字符串使用decode(),例如:b’\xe4\xbd\xa0’.decode()
    encode()和decode()默认UTF-8编码
    汉字在python中占3个字节,换行占2字节

文件读写

  1. 打开文件
    • open()函数
      file = open(file_name, mode=’r’, buffering=-1)

    • mode
      r:指针定位到第0位,只读
      w;无则创建,有则清空,无则创建,只写
      a:指针定位到最后,无则创建,只写
      r+、w+、a+:读写权限更改为可写可读
      rb、wb、ab:以二进制读模式打开
      rb+、wb+、ab+:读写权限更改为可写可读

    • buffering
      参数0表示无缓冲,1表示行缓冲(换行刷新缓冲)。
      如果大于1则指明缓冲区大小,不写或为负数则使用系统默认缓冲区大小。

  2. 读取文件
    file.read():读取所有字节到字符串中
    file.readline():读取下个换行符及之前的所有字节
    file.readlines();读取所有行,将行作为列表元素返回

  3. 写入文件
    file.write():将字符串写入文件
    file.writelines():将列表元素写入文件,换行符并不会被自动加入 file.flush():人为刷新缓冲区,将内容写入磁盘

  4. 文件指针(偏移量)
    读取和写入操作会改变文件指针位置
    • file.tell():获取文件指针位置
    • file.seek(offset,whence):人为移动文件指针位置(必须以二进制格式打开)。
      offset为偏移量。whence为基准位置,默认值为0代表开头,1代表当前,2代表结尾
  5. 关闭文件
    file.close():以防止一些误操作,也可以节省资源

  6. with操作
    自动释放被访问的资源,比如文件读写后自动关闭、线程中锁的自动释放等
    # 示例
    with open('file','r+') as f:
        f.read()
    
  7. fileno()
    file.fileno():获取系统为每个IO操作分配的编号

文档信息

Search

    Table of Contents