当我运行Python客户端以使用特定时间戳将数据插入InfluxDb时,它会返回以下错误:' datetime.timedelta'对象没有属性' total_seconds' 。
我在github上发现了一些将方法total_seconds()
定义到某个timeutils.py
文件中的内容。这是代码:
from datetime import datetime
def total_seconds(td):
# Keep backward compatibility with Python 2.6 which doesn't have
# this method
if hasattr(td, 'total_seconds'):
return td.total_seconds()
else:
return (td.microseconds + (td.seconds + td.days * 24 * 3600) * 10**6) / 10**6
def convert_to_epoch(timestamp):
diff = (timestamp - datetime(1970, 1, 1))
seconds = int(diff.total_seconds())
seconds = int(total_seconds(diff))
return seconds
我无法找到timeutils.py。 Python版本是2.6,我无法更新到2.7。我应该在哪里添加该功能以使客户端工作?
答案 0 :(得分:1)
我只是将它添加到发生错误的同一文件中。它是一个独立的函数,而不是类方法,因此您必须从
更改调用行seconds = int(diff.total_seconds())
到
seconds = int(total_seconds(diff))
或类似的东西。