• 记事本文件、日志文件、配置文件、数据库文件、图像文件、音频和视频文件、可执行文件、 Office文件、动态链接库文件等,都以不同的文件形式存储在各种存储设备(如磁盘、U盘 光盘、云盘、网盘等)上。
  • 按数据组织形式,文件分为文本文件和二进制文件两大类

1.文本文件

  • 文本文件存储的是常规字符串,由若干文本行组成,每行以换行符"\n’结尾。
  • 常规字符串是指记事本之类的文本编辑器能正常显示、编辑并且人类能够直接阅读和理解的字符串,如英文字母、汉字、数字字符串。
  • Windows平台中,扩展名为txt、og、ini的文件都属于文本文件,可以使用字处理软件如gedit、记事本、 Ultraedit等进行编辑。
  • 实际文本文件在磁盘上也以二进制存储,只是在读取和查看时使用正确的编码方式进行解码还原为字符串信息,所以可直接阅读和理解。

2.二进制文件

  • 图形图像、音视频、可执行、资源、各种数据库文件、各类Office文件等都属于二进制文件
  • 二进制文件把信息以字节串(bytes)存储,无法用记事本或其他普通字处理软件直接编辑,通常无法直接阅读和理解,需用正确的软件解码或反序列化之后オ能正确地读取、显示、修改或执行。
  • 图9-1中用

9 文件擦做

  • Windows记事本打开 Python主程序文件 python.exe.该文件是二进制可执行文件,无法用记事本査看,显示乱码
  • 也可用Hexeditor、010 Editor等十六进制编辑器打开二进制文件进行査看和修改,但要对不同类型的二进制文件结构有深人理解

9 文件擦做

9.1文件操作基本知识

  • 文本文件还是二进制文件,操作流程基本都一致

9.1.1内置函数open()

  • 内置函数open()指定模式打开指定文件并创建文件对象,

9 文件擦做

  • (1)file指定要打开或创建的文件名称,如果该文件不在当前目录中,可用相对路径或绝对路径
    • 为减少路径中分隔符的输入,可用原始字符串
  • (2)mode(范围见表9-1)“只读”“只写”“读写”“追加”“二进制只读”“二进制读写”等
  • 默认“只读”。
  • “只读”和“只写”打开时文件指针的初始位置是文件头,
  • “追加”模式打开时文件指针的初始位置为文件尾。
  • “只读”方式打开的文件无法进行任何写操作,反之亦然

9 文件擦做

  • open()返一个可迭代的文件对象
  • 通过该文件对象对文件读写
  • 如果指定文件不存在、访问权限不够、磁盘空间不够或其他原因导致创建文件对象失败则抛出异常
  • 以读、写方式打开了两个文件并创建了与之对应的文件对象

9 文件擦做

  • 对文件内容操作完后,
  • 一定要关闭文件对象,才保证所做的任何修改都被保存到文件
  • f1.close()

  • 即使写了关闭文件的代码,也无法保证文件一定能够正常关闭。
  • 如果在打开文件之后和关闭文件之前发生了错误导致程序崩溃,这时文件就无法正常关闭。
  • 在管理文件对象时推荐用9.1.3的with关键字,可避免这个问题。

9.1.2文件对象属性与常用方法

9 文件擦做

  • 文件读写操作相关的函数都会自动改变文件指针的位置。
  • 以读模式打开ー个文本文件,读取10个字符,会自动把文件指针移动到第11个字符的位置,再次读取字符的时候总是从文件指针的当前位置
    开始,写入文件的操作函数也具有相同的特点。

9 文件擦做

相关文章:

  • 2021-07-06
  • 2022-12-23
  • 2021-04-30
  • 2021-05-19
  • 2021-12-31
  • 2021-08-30
猜你喜欢
  • 2021-11-17
  • 2022-02-19
  • 2022-03-05
  • 2022-01-16
  • 2021-12-10
  • 2021-08-15
相关资源
相似解决方案