eeeqweasdfff 发表于 2020-3-19 18:04:45

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语句?

zltzlt 发表于 2020-3-19 18:06:20

“格式不兼容的文件” 指的是编码不一致的文件,编码不一致的文件只有读取(也就是 read())时才会报错。
页: [1]
查看完整版本: python 35讲第四题 小甲鱼的代码