1.  
  2. 主页
  3.  / 
  4. Python基础到高级
  5.  / 
  6. 文件IO操作

文件IO操作

打开和关闭文件

文件对象的操作

文件的操作和文件的打开方式是相关的

  • ‘r’ 打开可读文件(默认)
  • ‘w’ 打开写入,并且清空文件
  • ‘x’ 创建一个新文件并将其打开以进行写入
  • ‘a’ 文件必须不存在,否则会抛出异常,如果文件存在,则追加到文件末尾
  • ‘b’ 二进制模式
  • ‘t’ 文字模式(默认)
  • ‘+’ 打开一个磁盘文件进行更新(读写)
  • ‘U’ 通用换行模式(不推荐使用)

创建新文件,并写入文件,x关键字

追加

从读写方面来看,只有r可读不可写,其他的都是可写不可读

从文件不存在来看,只有r抛出异常,其他的都创建文件

从文件存在来看,只有x抛出异常

从是否原始内容来看,只有w会清空文件

读取文件返回值为字符串

读取文件返回值为bytes

  • mode=t 按照字符来操作
  • mode=b 按照字节来操作

文件可读可写

文件追加

单独的 + 是不能工作的,mode里必须有且仅有 rwxa 中的一个

当mode包含 + 时,会增加额外的读写操作,也就说原来是只读,会增加可写的操作,原来是可写,会增加可读的操作,但是 + 不改变其他行为

mode = t

  • 按照字符移动文件指针
  • 当whence为start(0)默认值, offset可以是任意整数
  • 当whence为current(1)或者end(2),offset只能为0

当seek超出文件末尾,不会有异常,tell也会超出文件末尾,但是写数据的时候,还是会从文件开始写

write 操作从min(EOF,tell()) 处开始。

  • 文件指针按照字节操作
  • tell方法返回当前文件指针位置
  • seek方法移动文件指针
  • whence参数START(0), CUR(1), END(2)
  • 当mode=t时,whence为seek_cur,或者seek_end, offset只能为0
  • 文件指针不能为负数
  • 读文件的时候从文件指针(pos)开始向后读
  • 写文件的时候从min(EOF, pos)处开始向后写

这方面还有很多细节的东西,但是用到的不多,反正我用到的不多,就不详细记录了

这篇文章对您有用吗?

我们要如何帮助您?

发表评论

邮箱地址不会被公开。 必填项已用*标注