python – OverflowError:规范化的天数太大而无法放入C int
发布时间:2020-12-20 13:21:54 所属栏目:Python 来源:网络整理
导读:我使用以下 Python代码来计算用户系统时间. t = os.times()usersystime = t[0] + t[1]usersystime = datetime.timedelta(seconds=usersystime) 但是,在Amazon EC2 m.4xlarge实例上,偶尔会出现以下错误: OverflowError: normalized days too large to fit in
我使用以下
Python代码来计算用户系统时间.
t = os.times() usersystime = t[0] + t[1] usersystime = datetime.timedelta(seconds=usersystime) 但是,在Amazon EC2 m.4xlarge实例上,偶尔会出现以下错误: OverflowError: normalized days too large to fit in a C int 我已经使用这个Python代码超过一年没有问题.现在,在这种类型的Amazon EC2实例(我以前从未使用过)上,我收到了这个错误. 我该如何解决? 解决方法
我发现Python的一些内置函数(如range或xrange)不支持更大的整数,可能是因为它们在C中实现为优化.看看
this question就是一个例子.
这可能是您的代码的情况. t [0] t [1]是否适合整数?如果没有,你将不得不找到解决方法(规范化t [0] t [1]?取决于你想做什么,你的片段不清楚)或实现你自己的timedelta. 编辑: 看一下Python的文档并在我的桌面上运行你的代码(WinXP 32bit / Python2.7),我看不出整数溢出的原因.但是,你提到偶尔会出现这个问题,因此它可能是亚马逊实例的时间()返回一些时髦的值(yay虚拟化;)). 首先,尝试进行一些测试以确定异常发生的t [0]和t [1]的确切范围.如果它们实际上确实有一些非常高的值(可能是因为实例暂停然后恢复,不知道有这么少的细节),你的代码测试反对. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |