比起其它数据类型,文件对象有一些不同。它被认为核心类型只是因为文件对象是由内建函数创建的,但它不是数字、不是序列、也不是映射。它只适用于文件处理的相关方法。
方法:
open
函数的第二个参数为打开类型,r
表示只读;w
表示写入;a
表示添加到末尾。
notes
- 文件迭代器是一行一行读取文件的最好方法
尽管文件有很多读取文件的方法,但永远记着。读取文件的最好方法不是一次读取完整个文件,而是通过for循环、列表推导式或者其他迭代工具。 - 文件内容是字符串,而不是对象
读取文件返回的是字符串,而不是对象。当写入文件内容是,必须写入格式化之后的文件,Python不会自动格式化。所以我们可以通过int()
float()
等其他方法将字符串转换为需要的对象。 - 缓存区和可定位的
写入文件的内容不会立即保存到硬盘中,在关闭文件之前会一直存在缓存区中。可以通过flush
方法强制将缓存区中的内容存进硬盘;Python的文件也支持基于偏移量的随机访问——seek
方法允许我们跳到特定位置读或写。 close
操作可有可无
Python的回收机制会在对象没有引用之后自动释放所占的空间——当文件对象不是引用之后Python会自动回收文件对象,也就会自动关闭文件。但是,这并不是经定义的python特性,可能会在未来的某个版本中改变。但是养成关闭文件的习惯更好。