Я обнаружил, что некоторые встроенные функции Python, такие как range
или xrange
, не поддерживают большие целые числа, возможно потому, что они реализованы в C как оптимизация. Взгляните на этот вопрос для примера.
Это может быть так для вашего кода. t[0] + t[1]
соответствует целому числу? Если нет, вам придется либо найти способ обойти это (нормализовать t[0] + t[1]
? Зависит от того, что вы хотите сделать, а ваш фрагмент не дает ясного представления), либо реализовать свой собственный timedelta
.
EDIT:
Взглянув на документацию Python и запустив ваш код на моем рабочем столе (WinXP 32bit / Python2.7), я не вижу причин для целочисленного переполнения. Тем не менее, вы упоминаете, что эта проблема возникает иногда , так что это может быть times () экземпляра Amazon, возвращающей некоторые интересные значения (yay virtualization;)).
Сначала попробуйте выполнить несколько тестов, чтобы точно определить , в каких диапазонах t[0]
и t[1]
происходит исключение. Если у них действительно есть несколько необычно высоких значений (возможно, потому что экземпляр был приостановлен, а затем возобновлен, не знаю с такой маленькой детализацией), ваш код проверяет это.