【Python】学习笔记之文件和异常(上)|第10篇

书籍:《Python编程:从入门到实践》
打卡人:Owenli
打卡时间:2018.4.18
Python从入门到实践目录
- Python学习笔记之基本数据类型|第1篇
- Python学习笔记之列表|第2篇
- Python学习笔记之条件控制|第3篇
- Python学习笔记之字典|第4篇
- Python学习笔记之用户输入和While循环|第5篇
- Python学习笔记之函数|第6篇
- Python学习笔记之函数(续)|第7篇
- Python学习笔记之类|第8篇
- Python学习笔记之类(续)|第9篇
- Python学习笔记之文件和异常(上)|第10篇
- Python学习笔记之文件和异常(下)|第11篇
前言
本篇将学习处理文件,让程序能够快速地分析大量的数据;还将学习错误处理,避免程序在面对意外情形时崩溃;将学习异常,它们是Python
创建的特殊对象,用于管理程序运行时出现的错误;还将学习模块json
,能够保存用户数据,以免程序停止时丢失。
下面开始今天的学习吧!!!
一、文件中读取数据
要使用文本文件中的信息,首先需要将信息从文件中读取到内存中。下面看看如何读取文件。
1.1 读取整个文件
首先创建一个文本文件pi_digits.txt
。文件中包含圆周率小数点后30位,每10位换行。
pi_digits.txt
3.1415926535
8979323846
2643383279
下面程序打开并读取文件,将内容显示出来。

open()
:以某种方式打开文件,上面中传递一个参数,文件地址,函数返回一个表示文件的对象。
关键字with
在不需要访问文件后将其关闭。也可以直接使用 close
关闭文件,不过容易出问题,不推荐使用。
read()
方法,读取文件的全部内容。
在输出是可以使用rstrip()
删除字符串末尾的空白。
1.2 文件路径
open()
函数根据当前执行文件所在目录查找需要打开的文件。
有时需要打开不在程序文件所属目录中的文件。让Python
打开不与程序文件位于同一目录中的文件,需要提供文件路径。让 Python
到指定位置查找。
相对路径:该路径是相对于当前运行的程序所在目录的。
绝对路径:该路径是文件在计算机中的准确存储位置。
1.3 逐行读取
读取文件时,常常需要检查其中的一行,你可能要在文件中查找特定的信息,或者要以某种方式修改文件中的文本。
下面例子,以一次一行的方式输出文件内容。

1.4 创建一个包含文件各行内容的列表

readlines()
从文件中读取每一行,并将其中存储在一个列表中。
Python
对处理的数据量没有限制,只要系统的内存足够多,处理多少数据都可以。
二、写入文件
保存数据最方便的方式之一是写入到文件中。
open()
还提供了其他的参数,控制文件读取和写入模式。

打开文件 时,可指定读取模式 ('r' )、写入模式 ('w' )、附加模式 ('a' )或让你能够读取和写入文件的模式('r+' )。如果省略则会以默认只读模式打开文件。
如果要写入的文件不存在,会自动创建。
w
模式,在写入时,会清空之前的内容。
a
模式,追加模式写入,不会清空之前的数据。
三、异常
Python
中称为异常
的特殊对象来管理程序执行期间发生的错误。每当发生让Python
不知所措的错误时,它都会创建一个异常对象。如果你编写了处理该异常的代码,程序将继
续运行;如果你未对异常进行处理,程序将停止,并显示一个traceback
,其中包含有关异常的报告。
3.1 处理ZeroDivisionError
异常
该异常是除数为零异常。当除数为零是就会抛出这个错误。

3.2 使用try-except
代码块
通过编写try-except
代码块来处理可能引发的异常。try
中执行代码,except
中处理可能发生的异常。

3.3 else代码块
通过将可能引发错误的代码放在try-except
代码块中,提高了程序抵御错误的能力。
try-except-else
其中else
代码块依赖于try
代码块执行的代码都应放在else
代码块中。
try-except-else
代码块的工作原理大致如下:Python
尝试执行try
代码块中的代码;只有可能引发异常的代码才需要放在try 语句中。有时候,有一些仅在try
代码块成功 执行时才需要运行的代码;这些代码应放在else
代码块中。except
代码块告诉Python
,如果它尝试运行try
代码块中的代码时引发了指定的异常,该怎么办。
四、小结
本篇主要学习文件读和写的相关知识,另外,还学习了关于异常的部分内容。下篇将学习异常的剩余部分。