Python open()详解

柯翔
2023-12-01

使用流程

  1. 打开文件,得到文件句柄,并赋值给一个变量
  2. 通过句柄对文件进行操作
  3. 关闭文件

具体用法

open(name, [, mode[, buffering]])

参数说明:

  • name: 一个包含了你想要访问的文件名称的字符串值
  • mode: mode决定了打开文件的模式,默认是r
  • buffering: 如果buffering的值被设为0,就不会有寄存。如果buffering的值取1,访问文件时会寄存行。如果将buffering的值设为大于1的整数,表明了这就是寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。

打开文件的模式:

  • r :以只读方式打开文件。文件的指针会放在文件的开头。这是默认的模式。
  • rb: 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。
  • r+: 打开一个文件用于读写。文件指针将会放在文件的开头。
  • rb+: 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
  • w: 打开一个文件用于写入。如果该文件已将存在则打开文件,并从开头开始编写,即原有的内容会被删除。如果该文件不存在,创建新文件。
  • wb: 以二进制格式打开一个文件用于写入。如果该文件已经存在则打开文件,并从头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
  • w+: 打开一个文件用于读写。如果该文件已经存在则打开文件,并从开头开始编写,即原有内容会被删除。如果该文件不存在,创建新文件。
  • wb+: 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
  • a: 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
  • ab: 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
  • a+: 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
  • ab+: 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

file对象方法

  • file.read([size])
    size未指定则返回整个文件,如果文件大小大于2倍内存则有问题,f.read()读到文件结尾时候返回空字串
  • file.readline()
    返回一行
  • file.readlines([size])
    返回包含size行的列表,size未指定时则返回全部行
  • for line in f: print line
    通过迭代器访问
  • f.write("hello\n")
    如果要写入字符串以外的数据,先将它转换为字符串。
  • f.tell()
    返回一个整数,表示当前文件指针的位置(就是到文件头的比特数)。
  • f.seek(偏移量,[起始位置])
    用来移动文件指针。
    • 偏移量: 单位为比特,可正可负
    • 起始位置: 0 - 文件头, 默认值; 1 - 当前位置; 2 - 文件尾
  • f.close()
    关闭文件

Reference:
http://www.runoob.com/python/python-func-open.html

 类似资料: