1

帮助,我加载了大数据,突然我的str()不起作用。它不再是可调用的。我记得在某个时候我做了一个类似的任务str = something,现在我什至不能再打电话str(1)了,结果是:

TypeError:“str”对象不可调用

调用str结果''

那么,在这种情况下,无法重新启动解释器,是否还有办法让旧的str()返回,以便我可以将这些数据写入文件?

4

2 回答 2

3

有几种方法可以重新获得内置的str

str = type("")

或者:

import builtins   # __builtin__ in python2
str = builtins.str

仅举两个例子。


一种更“晦涩”的方式来达到同样的效果:

del str

这似乎是错误的,但是在删除str变量后,当您键入时str,它将在全局变量中搜索,然后在内置函数中进行搜索,从而达到与其他解决方案相同的效果:

>>> str = 1
>>> del str
>>> str(127)
'127'

事实上,这是完全恢复先前分配的唯一方法。如果您将 重新分配给它的原始值,您仍然使用局部/全局变量而不是内置范围中使用的变量。但是我想不出这会很重要的情况(除了分配给局部变量时它可能会提高性能)。str

于 2013-09-15T16:40:30.987 回答
0

如果您需要这样做,请致电。

__builtin__.str

那应该会给你原来的 str 命令。

于 2013-09-15T16:41:03.507 回答