python中关于文件的基本知识

文件的类型

文件是数据的抽象与集合

  • 文件是存储在辅助存储器上的数据序列
  • 文件是数据存储的一种形式
  • 文件展现形态:文本文件和二进制文件

文本文件vs.二进制文件

  • 文本文件和二进制文件都只是文件的展示方式
  • 本质上,所有文件都是二进制文件形式存储
  • 形式上,所有文件采用两种展现方式

文本文件

  • 文件是数据的抽象和集合
  • 由单一特定编码组成的文件,如UTF-8编码
  • 由于存在编码,也被看作是存储着的长字符串
  • 适用于:txt文件,py文件
    二进制文件
    • 直接由比特0和1组成,没有统一字符编码
    • 一般存在二进制0和1的组织结构,即文件格式
    • 适用于:png文件,.avi文件

文件的打开与关闭

三个常用的读文件函数:

a.read(size)
a.readline(size)
a.readlines(hint)

三个常用的写文件函数:

a.write(s)
a.writelines(lines)
a.seek(offset)

文件的打开

在这里插入图片描述
在这里插入图片描述
\在python中被解释为转义符
在这里插入图片描述
在这里插入图片描述

文件的关闭

在这里插入图片描述
如果文件打开,没有关闭,那么在程序执行过程中,该文件一直处于占用状态。

文件的读取

文件读取的三种方法

在这里插入图片描述
s=f.read(2)是指读入f文件中的前两个字符(txt文件文本为:中国是一个伟大的国家)
s=f.readline()是指读入指针对应的当前一行的信息
在这里插入图片描述

文件的全文本操作

方法一(一次性全部读入):
特点是一次读入,全部处理。
在这里插入图片描述

方法二(按照数量读入)
特点是分阶段,按照数量读入,逐步处理,对于处理大文件来说更方便。其中read(2)代表读入两个字节。
在这里插入图片描述

方法三(逐行遍历,包括两种方法):
方法一:一次读入,分行处理
一次读入,分行处理

方法二:分行读入,逐行处理
在这里插入图片描述

文件的写入

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

例子

在这里插入图片描述
但实际上没有写入任何信息。
修改代码如下:
在这里插入图片描述
原因在于,for的遍历,是在写入代码fo.writelines(ls)之后,当写入完毕后,指针在文件的最后,而接下来做for的遍历,是指从当前位置,向结尾处,取出每一行,并打印出来,但是指针已经在添加的文本之后了,所以没有办法打印。因此,需要将指针调整到文件开始的位置。

总结

在这里插入图片描述
感谢北理MOOC,以上为课程笔记

猜你喜欢

转载自blog.csdn.net/weixin_44301621/article/details/89513870