> 文章列表 > python课堂笔记——文件管理

python课堂笔记——文件管理

python课堂笔记——文件管理

文件操作

文件的打开和关闭

通过调用open打开一个文件open(name[,mode[,buffering]])。open函数必须传递一个参数是文件的路径。如果python找不到文件路径会抛出错误FileNotFoundError

在Windows环境下,存在三种文件路径的写法

open(r'd:\\test.txt')
open('d:\\\\test.txt')
open('d:/test.txt')

open函数返回的是一个文件对象,该对象有3中常用的属性

  1. close判断文件是否关闭,文件如果是打开状态则返回false
  2. mode返回文件的打开模式
  3. name返回文件名称

在open之后需要手动调用.close()关闭文件对象。这样才会把缓存区的数据写入到文件,并且释放文件资源给其他程序使用。

opne函数的mode参数

如果指定一个文件路径调用open函数打开,默认打开的文件为只读模式,无法对文件修改。我们可以通过指定mode参数调整文件打开模式。

mode参数 附加 以二进制读写 是否删除原内容 文件不存在时,是否产生异常 指针初始位置
r(只读) T T
r+ T T T
rb+ T T T T
w T T 不抛出异常,程序会新建文件
w+ T T T 不抛出异常,程序会新建文件
wb+ T T T T 不抛出异常,程序会新建文件
a T 不抛出异常,程序会新建文件
a+ T T 不抛出异常,程序会新建文件
ab+ T T T 不抛出异常,程序会新建文件
  1. 通过w模式打开文件时,文件原有的数据将会被清除
  2. a模式可以理解为追加模式,可以向文件的末尾追加数据,文件原本的数据不会被清除。
  3. +符号表示同时允许写和读操作
  4. w+会删除原有数据,打开的文件对象可以读写,文件不存在会新建文件;
  5. r+打开的文件对象可以读写,不会删除原有数据,但是文件不存在会抛出异常
  6. a+打开的文件对象可以读写,不删除原有数据,可以在文件内的任意位置开始读取数据,但是只能在文件末尾追加数据。当文件不存在时候会新建文件
  7. open函数默认将打开的文件作为文本文件处理,参数b告诉程序将文件作为一个二进制文件进行处理

opne函数的buffering参数

参数buffering控制打开文件对象的时候是否设置写入缓冲区

  1. 参数为 0或false时不设置缓冲区,任何对文件对象的操作将直接持久化到硬盘中的实际文件中
  2. 如果设置1或者true,python会设置一个行缓冲区,会将所有的写入数据先写入到缓冲区中,碰到换行符才会将缓冲区数据写入到文件中。或者手动调用flush()或者close()才会执行写入。
  3. 如果取大于1的数,表示设置的缓冲区大小。
  4. 当不设置参数时默认为1
  5. 参数为负数时,也会开启缓冲区,缓冲区满执行写入或者手动刷入