文件IO操作

**

文件IO基本操作

  • 文件打开: fileObj = open(filePath,model='')
    • model: 文件的打开模式
      • r: 只读模式打开(默认打开模式)
      • w: 只写模式打开(会新建一个空文件,无论之前是否存在同名文件)
      • x: 创建模式打开(新建文件,存在同名文件则报错)
      • a: 追加模式打开(指针指向文件的EOF处,开始追加内容)
    • 文件模式:
      • t: 以文本模式处理(默认),主要编码格式(gbk:两字节,utf-8:三字节)
      • b: 以二进制模式处理(bytes类型)
  • 文件关闭: fileObj.close()
    • 与open配对出现
    • 可以使用with语法来自动关闭文件
    • closed: 关闭文件描述符,True表示文件已经关闭
  • 文件读取: fileObj.read(int)
    • int: 省略不写表示从当前指针到文件末尾,具体数值表示num个字节/字符
  • 文件写入: fileObj.write(str/bytes)
    • 文本模式: 输入字符串,写完后指针在文件的EOF处,返回字符/字节数量
    • bytes模式: 输入bytes文件,写完后指针在文件的EOF处
      • 英文字符:b'abdjadj' / 'afadfa'.encode()
      • 中文字符:'交罚款了多少'.encode()
        • encode: 默认是utf-8编码格式
  • 行读取: fileObj.readline()
    • 默认读取一行内容,输入参数表示一次读入的字符/字节数量
  • 多行读取: fileObj.readlines()
    • 读取文件的所有行的列表,输入参数表示返回指定的行数
  • 指针操作: fileObj.seek(int [,when])
    • when: 有三种模式0、1、2
      • 0: 表示从文件开始,偏移int个字符/字节(int只能是整数,可以>字符数)
      • 1: 表示从当前位置开始偏移
        • 文本模式下:int只能是0
        • 二进制模式下:int可正可负(不能超出文件头指针)
      • 2: 表示从EOF位置开始偏移
        • 文本模式下:int只能是0
        • 二进制模式下:int可正可负(不能超出文件头指针)
  • 指针位置: fileObj.tell()

文件权限查询

  • seekable(): 文件指针是否可以移动
  • readable(): 文件是否可读
  • writable(): 文件是否可写

你可能感兴趣的:(文件IO操作)