python报错ValueError: invalid literal for int() with base 10: ''

347 阅读1分钟

做个记录,以免忘记

报错信息:

ValueError: invalid literal for int() with base 10: ''

原因:空字符串无法转成整型,这里 year 存在空值

解决办法:加入异常值抛出。若遇到ValueError错误,直接pass,否则执行else下面的程序。

修改后:

for cont in conts:
            if '#t ' in cont:
                try:
                    year = int(cont[cont.index(' ') + 1:].strip(' ').strip('\n'))
                except ValueError as e:
                    pass
                
                if year >= 2000:  #筛选年份
                    list1.append(line)

参考:blog.csdn.net/zcs_xueli/a…