TypeError:'int'不支持缓冲区接口

时间:2015-03-12 08:58:06

标签: python python-3.x

我希望在将变量转换为整数后为其赋值。我的代码:

timStamp = int(time.time()) // 30

但是我收到了以下错误:

TypeError: 'int' does not support the buffer interface

我也尝试过:

timStamp = time.time() // 30

这次我得到了:

TypeError: 'float' does not support the buffer interface

我已经在谷歌搜索过,但我找不到我想要的答案。 N:B:我正在使用python 3,我的完整源代码如下 http://paste.ubuntu.com/10584501/

1 个答案:

答案 0 :(得分:2)

您应该查看完整的回溯,以查看错误发生的位置。在这种情况下,代码产生,

/tmp/test2.py in get_totp(secret)
     41     #timStamp = int (time.time() // 60)
     42     timStamp = int(time.time()) // 60
---> 43     return get_hotp(secret, base64.b16encode(timStamp))
TypeError: 'int' does not support the buffer interface

所以问题是base64.b16encode需要一个字节字符串,而是给它一个int或一个浮点数。

但是,我可以理解这种混淆,因为这个异常比你提供的行提前一行。