帮助,我加载了大量数据,突然我的str()
无效。它不再可调用了。我记得在某些时候我做了str = something
之类的作业,现在我甚至不能再打电话给str(1)
,导致:
TypeError:' str'对象不可调用
致电str
会产生''
因此,在这种情况下,无法重新启动解释器,是否还有办法让旧的str()
返回以便我可以将此数据写入文件?
答案 0 :(得分:3)
有几种方法可以重新获取内置str
:
str = type("")
或者:
import builtins # __builtin__ in python2
str = builtins.str
举两个例子。
实现相同效果的更“模糊”方式:
del str
这看似错误,但在删除str
变量后,当您键入str
时,它将在全局变量中搜索,然后在内置函数中搜索,从而实现与其他内容相同的效果解决方案:
>>> str = 1
>>> del str
>>> str(127)
'127'
实际上,这是完全恢复之前作业的唯一方式。如果将str
重新分配给其原始值,则仍然使用本地/全局变量而不是内置入口作用域中使用的变量。但是我无法想到这种情况会很重要(除非它在分配局部变量时增加性能)。
答案 1 :(得分:0)
如果你需要打电话。
__builtin__.str
那应该给你原来的str命令。