Python 术语:
- “异常”(exception)因运行时错误而出现,会产生一个traceback。
- “traceback”是出现错误时的一个详细描述。
BULLET POINTS:
- 使用open()BIF打开一个磁盘文件,创建一个迭代器从文件读取数据,一次读取一个数据行。
- readline()方法从一个打开的文件读取一行数据。
- seek()方法可以用来将文件“退回”到起始位置。
- close()方法关闭一个之前打开的文件。
- split()方法可以将一个字符串分解为一个子串列表。
- Python中不可改变的常量列表称为一个元组(tuple)。一旦将列表数据赋至一个元组,就不能再改变。元组是不可改变的。
- 数据不符合期望时会出现ValueError。
- 数据无法正常访问时会出现IOError(例如,可能你的数据文件已经被移走或者重名)。
- find() 方法会在一个字符串中查找一个特定子串。
- not 关键字将一个条件取反。
- try/except语句提供了一个异常处理机制, 从而保护可能导致运行时错误的某些代码行。
- pass语句就是Python的空语句或null语句,他什么也不做。
源码及截图:
ValueError
try/except:
这种捕获机制过于一般化,不论运行时出现什么问题都会由代码处理
捕获特定异常(ValueError、IOError):
try:
data = open('sketch.txt')
for each_line in data:
try:
# 捕获异常
(role, line_spoken) = each_line.split(':')
print(role, end='')
print(' Said: ', end='')
print(line_spoken, end='')
except ValueError:
# 异常处理
pass
data.close()
except IOError:
print('the data file is missing!')
这个代码依然存在问题,当遇到ValueError时,直接pass跳过了,实际中我们可能并不希望这么处理,这就需要额外的逻辑来处理了