python 35讲第四题 小甲鱼的代码
第四题这段代码def calc_code(file_name):
lines = 0
with open(file_name) as f:
print('正在分析文件:%s ...' % file_name)
try:
for each_line in f:
lines += 1
except UnicodeDecodeError:
pass # 不可避免会遇到格式不兼容的文件,这里忽略掉......
return lines
为什么这里测试error放在遍历f的内容而不是从打开f文件就开始,如果是格式不兼容的文件,不应该在打开文件的时候就直接报错了吗为什么是在里面使用try语句? “格式不兼容的文件” 指的是编码不一致的文件,编码不一致的文件只有读取(也就是 read())时才会报错。
页:
[1]