免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4432 | 回复: 4
打印 上一主题 下一主题

请教python显示输入文件引起异常行的提示问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-01-06 12:22 |只看该作者 |倒序浏览
各位,
    请问在python中怎么样能够显示输入文件中发生异常的行号了,python只是提示脚本发生错误的行数,我想知道具体是文件中哪一行引起的异常的了,
在perl中当发生异常时提示信息就可以显示脚本以及输入文件中引起异常的行数



  File "commoncode/makerdsfrombowtie.py", line 256, in ?
    start = int(fields[3]) + 1
ValueError: invalid literal for int():


谢谢各位!

论坛徽章:
0
2 [报告]
发表于 2010-01-06 12:25 |只看该作者
不是很明显有行号了嘛,把fields[3]打印出来就知道了,里面不是数字

论坛徽章:
0
3 [报告]
发表于 2010-01-06 12:30 |只看该作者
这个行号是指代码的行的了,我的意思是说输入文件中引起错误的行

比如说输入文件中一行通过line.split后的field[3]不是一个数,所以引发了valueError异常

文件有几个G的大小,我想看看这一个引起错误的行具体是文件中的哪一行,就是要能在错误信息中显示输入文件这一行的行号,

谢谢!

论坛徽章:
0
4 [报告]
发表于 2010-01-06 13:09 |只看该作者
File "commoncode/makerdsfrombowtie.py", line 256, in ?


这个已经说明哪个文件,哪行发生错误了。

如果你要看错误的对战,就需要处理exception,打印错误堆栈了。
traceback, sys.exc_info()都是可以用的。

论坛徽章:
0
5 [报告]
发表于 2010-01-06 13:13 |只看该作者
原帖由 killer5757 于 2010-1-6 12:30 发表
这个行号是指代码的行的了,我的意思是说输入文件中引起错误的行

比如说输入文件中一行通过line.split后的field[3]不是一个数,所以引发了valueError异常

文件有几个G的大小,我想看看这一个引起错误的行 ...


这个最简单的就是做一个行计数嘛,每次处理打印下现在是多少行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP