最近在看《Head First —— Python》,其中第三章 文件与异常,讲了python中对异常的处理。
对于处理异常有两种方式:1) 增加额外的逻辑,避免异常的处理;2)先尝试运行代码,然后处理可能发生的错误。
python处理会倾向后者,采用try/except机制。这个很强大!
下面的例子,改编书上的例子,只不过用了中文(python3 可以支持中文编码)。
编号.txt
申请编号: A-56373737333
受理编号: D-DEE88775233
回执编号: CA0244625:EEE
'''
读取文件,根据“:”分隔符进行分离
(编号类型: 编号)
对于有多个冒号的情况,只读取第一个冒号
对于空行(无冒号),则pass
对于原文件不存在,则提示文件丢失
'''
try:
data = open('编号.txt')
for each_line in data:
try:
(typeName, identifier) = each_line.split(':', 1)
print(typeName, end='')
print(' 是 ', end='')
print(identifier, end='')
except ValueError:
pass
data.close()
except IOError:
print('原数据文件丢失!')
运行结果: