当我运行 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。我应该在哪里添加该功能以使客户端工作?
最佳答案
我只是将其添加到发生错误的同一文件中。它是一个独立的函数,而不是类方法,因此您必须更改调用行
seconds = int(diff.total_seconds())
至
seconds = int(total_seconds(diff))
或类似的东西。
关于python - 使用Python插入InfluxDb错误: 'datetime.timedelta' object has no attribute 'total_seconds' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42645787/