Python 2.6.5: разделите timedelta с timedelta

Я пытаюсь разделить один объект timedelta с другим, чтобы вычислить время безотказной работы сервера:

 >>> import datetime >>> installation_date=datetime.datetime(2010,8,01) >>> down_time=datetime.timedelta(seconds=1400) >>> server_life_period=datetime.datetime.now()-installation_date >>> down_time_percentage=down_time/server_life_period Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unsupported operand type(s) for /: 'datetime.timedelta' and 'datetime.timedelta' 

Я знаю, что это было решено в Python 3.2 , но есть ли удобный способ справиться с ним в предыдущих версиях Python, кроме вычисления количества микросекунд, секунд и дней и деления?

Благодаря,

Адам

  • нужно среднее из списка объектов timedelta
  • Формат Python timedelta для строки
  • Формат Python timedelta более 24 часов для отображения только с часами?
  • Преобразование timedelta в плавающую точку
  • Python: учитывая дату и день недели, найдите дату следующего появления заданного рабочего дня
  • рассчитать разницу между двумя датами datetime.date () в годах и месяцах
  • python: какой файл более новый и на сколько времени
  • Python: Как мне получить время от объекта datetime.timedelta?
  • One Solution collect form web for “Python 2.6.5: разделите timedelta с timedelta”

    В Python ≥2.7 существует метод .total_seconds() для вычисления общих секунд, содержащихся в timedelta:

     >>> down_time.total_seconds() / server_life_period.total_seconds() 0.0003779903727652387 

    В противном случае нет способа вычислить общие микросекунды (для версий <2.7 )

     >>> def get_total_seconds(td): return (td.microseconds + (td.seconds + td.days * 24 * 3600) * 1e6) / 1e6 ... >>> get_total_seconds(down_time) / get_total_seconds(server_life_period) 0.0003779903727652387 
    Python - лучший язык программирования в мире.