你好,我是尹会生。
如果要用四个字来总结本章我为你讲解的主要内容的话,那肯定是“输入输出”。别看只有简单的四个字,里面包含的知识点可不少。
比如,在编写输入输出相关程序时,你要根据操作的对象,分为从终端输入输出和从文件输入输出;假如操作对象是文件的话,你还得考虑保存文件的文件夹是否存在;即使文件夹存在,你还要考虑是否有权限创建和写入文件;甚至在更底层的开发过程中,你要考虑写入文件时要使用缓存还是直接写入磁盘。
你看要编写一个支持输入和输出的程序,要考虑的东西真不少。在本章视频里,为了给你讲清楚每一个细节,我将它们都拆分开并为你讲解了涉及到的全部知识点,但是实际操作中,我们需要将它们都串联起来。在本讲中,我将为你展示一下,如何实现更完善的基于文件的输入和输出操作。
首先,我先带你来看一下,一个程序如果使用文件作为输入系统要考虑的三件事:文件是否存在,文件是否有可读权限,使用正确的文件编码。
1. 文件是否存在
打开文件之前,判断文件是否存在,是成熟的软件工程师要养成的好习惯。虽然 Python 解释器在打开的文件不存在时,会自动报告 FileNotFoundError 异常,但是也会有报告不准确的时候,比如下面的代码,就是 Python 读取一个文件夹时的报错信息。