这可能是一个简单的修复,但它不会一直发生,所以我无法弄明白。
如果计数小于总数,我有一个while循环重复。第一个循环启动时,它会保存日期/时间。循环结束时,我会打印开始日期/时间和结束日期/时间。这告诉用户每个循环何时开始以及花费了多长时间。
这是我的代码:
while count < total:
bTime = datetime.datetime.now()
[do a bunch of work]
print "Repeat code for: "+str(count)+" to "+str(count+15000)
count += 15000
print "Start time: " + str(bTime)
print "End time: " + str(datetime.datetime.now())
print "Finished"
问题是它会运行一段时间然后突然出错并且无法打印datetime.now()因为结果太大了。
Repeat code for fields: 0 to 15000
Start time: 2018-03-07 10:43:46.612000
End time: 2018-03-07 12:03:59.211000
Repeat code for fields: 15000 to 30000
Start time: 2018-03-07 12:03:59.211000
End time: 2018-03-07 13:37:57.851000
...
...
Repeat code for fields: 135000 to 150000
Start time: 2018-03-08 00:44:11.488000
End time: 2018-03-08 02:22:44.780000
Repeat code for fields: 150000 to 165000
Start time: 2018-03-08 02:22:44.780000
ETraceback (most recent call last):
File "FAM_meanNDVI_extraction.py", line 210, in <module>
print "End time: " + str(datetime.datetime.now())
IOError: [Errno 34] Result too large
如果有人知道为什么会这样做,我将非常感谢帮助。老实说,如果我只是删除该行,它将正常工作,我可以继续我的生活,但这对用户来说只是一件好事。
答案 0 :(得分:0)
试试这个:
print "End time: ",
print datetime.datetime.now()
答案 1 :(得分:0)
IOerror通常与“磁盘已满”或“未找到文件”相关联。
https://docs.python.org/2/library/exceptions.html#exceptions.IOError
我怀疑这是因为你的控制台而不是因为datetime。尝试跳过控制台上的任何内容,然后尝试。它应该继续运行或抛出一些其他错误:P。