【发布时间】:2018-02-07 01:02:44
【问题描述】:
所以当我跑步时:
value = long("00000000000000020000000000000002", 16)
我明白了:
ValueError: Value out of range: 36893488147419103234
我认为是因为 long 不能取这么大的十六进制数,但我不确定。
实际上,我正在遍历包含大量非常大的十六进制数字的文件,但这只是我尝试解析的十六进制数字之一的示例。
我尝试使用lstrip() 删除一些 0,但对错误没有影响。
我做错了什么?
【问题讨论】:
-
无法在 2.7.13 上复制更长的数字。
-
仅供参考,在 Python 3 中
value = int("00000000000000020000000000000002", 16)运行良好(int替换了 Python 2 的long)。 -
我也无法在 python2.7.12 上复制。你具体用的是什么版本?你确定
ValueError没有在处理的某个步骤发出吗? -
@rikg09 试试这个repl.it/languages/python
-
无法在 Python 2.7.5 上重现。
标签: python python-2.7 long-integer