一、异常处理
1、Python常见标准异常
异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。一般情况下,Python无法正常处理程序时就会发生一个异常。异常是Python对象,表示一个错误。当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。
异常名称 | 说明 |
---|---|
BaseException | 所有异常的基类 |
Exception | 常规错误的基类 |
OverflowError | 数值运算超出最大限制 |
IOError | 输入/输出操作失败 |
Warning | 警告的基类 |
KeyboardInterrupt | 用户中断执行 |
StandardError | 所有的内建标准异常的基类 |
ArithmeticError | 所有数值计算错误的基类 |
FloatingPointError | 浮点计算错误 |
AttributeError | 对象没有这个属性 |
IndexError | 序列中没有此索引(index) |
KeyError | 映射中没有这个键 |
MemoryError | 内存溢出错误 |
NameError | 未声明/初始化对象 |
RuntimeError | 一般的运行时错误 |
SyntaxError | Python 语法错误 |
TypeError | 对类型无效的操作 |
RuntimeWarning | 运行时行为的警告 |
TabError | Tab 和空格混用 |
IndentationError | 缩进错误 |
UnboundLocalError | 访问未初始化的本地变量 |
ImportError | 导入模块/对象失败 |
2、异常处理语句
(1)使用except带异常类型
try:
<语句> #需要被检测的代码
except <名字>:
<语句> #except语句捕获同名异常信息并处理
except <名字>,<数据>:
<语句> #except语句捕获同名异常信息并处理,获得附加的数据(异常参数)
else:
<语句> #如果没有异常发生
- 如果当try后的语句执行时发生异常,python就跳回到try并执行第一个匹配该异常的except子句,异常处理完毕,控制流就通过整个try语句(除非在处理异常时又引发新的异常)。
- 如果在try后的语句里发生了异常,却没有匹配的except子句,异常将被递交到上层的try,或者到程序的最上层(这样将结束程序,并打印默认的出错信息)。
- 如果在try子句执行时没有发生异常,python将执行else语句后的语句(如果有else的话),然后控制流通过整个try语句。
(2)使用except不带异常类型
try:
正常的操作
......................
except:
发生异常,执行这块代码
......................
else:
如果没有异常执行这块代码
try-except语句捕获所有发生的异常。不能通过该程序识别出具体的异常信息。因为它会捕获所有的异常。
(3)使用except而带多种异常类型
使用相同的except语句来处理多个异常信息
try:
正常的操作
......................
except(Exception1[, Exception2[,...ExceptionN]]]):
发生以上多个异常中的一个,执行这块代码
......................
else:
如果没有异常执行这块代码
(4)try-finally 语句
try-finally 语句无论是否发生异常都将执行finally中的代码。
try:
<语句>
finally:
<语句> #退出try时总会执行
raise
二、文件I/O
1、读取键盘输入
str = input("请输入:")
print ("你输入的内容是: ", str)
2、打开和关闭文件
#打开一个文件
fo = open("foo.txt", "w")
```python
在这里插入代码片
#关闭打开的文件
fo.close()
3、write()和read()方法
write()方法可将任何字符串写入一个打开的文件,创建foo.txt文件,并将收到的内容写入该文件,并最终关闭文件。
#打开一个文件
fo = open("foo.txt", "w")
fo.write( "DJI\n")
#关闭打开的文件
fo.close()
read()方法从一个打开的文件中读取一个字符串。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。
#打开一个文件
fo = open("foo.txt", "r+")
str = fo.read(10)
print "读取的字符串是 : ", str
#关闭打开的文件
fo.close()
4、重命名与删除文件
Python的os模块提供了执行文件处理操作的方法,比如重命名和删除文件。要使用这个模块,必须先导入它,然后才可以调用相关的各种功能。
rename()方法:
rename()方法需要两个参数,当前的文件名和新文件名。
import os
#重命名文件test1.txt到test2.txt。
os.rename( "test1.txt", "test2.txt" )
remove()方法
你可以用remove()方法删除文件,需要提供要删除的文件名作为参数。
import os
#删除一个已经存在的文件test2.txt
os.remove("test2.txt")