首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我创建的二进制列表导致'int‘对象不可调用

我创建的二进制列表导致'int‘对象不可调用
EN

Stack Overflow用户
提问于 2017-02-15 11:34:18
回答 1查看 202关注 0票数 0

当我将一个文件从HDD读取到一个名为"data“的二进制列表中时,我可以使用以下代码获得列表的长度:

代码语言:javascript
复制
with open("test 18.vf", "rb") as f:
data = f.read()
len = len(data)
print(len)

以上工作没有错误。

但是,当我尝试手动创建二进制列表"b“时,"len(b)”将产生一个TypeError。

代码语言:javascript
复制
b = b'\x76\x12\x0A\x08\x00'
lenofb = len(b)  #This line get a TypeError
print(lenofb)

TypeError:“int”对象不可调用

  1. 为什么"b“是一个整数并导致错误?
  2. 我获取文件长度的方法正确吗?(我的意图是搜索"data“中的4个十六进制字节,当被发现时,做一些事情,然后重复,直到到达长度"len”。)

PS: a)我试着在上面的例子1中缩进2-4行,但是文章只显示了所有4行的缩进。如何在文章中显示Python代码的适当缩进?

我刚开始学习Python。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-15 19:16:56

您在前面的代码中设置了len = len(data)。这隐藏了len的正常定义(计算某物长度的函数)和您对len ( int)的定义。然后,您尝试调用该int,就好像它是一个函数一样。

对于局部变量,您应该使用其他名称而不是len

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42248213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档