我有一个方法,它接受许多参数并返回多个值
我正在尝试在该方法中打开一个文件,但它显示错误,如
fc=open("ABC.txt","a")
Type Error: 'float' object is not callable`
我不知道为什么它显示这个错误我的意思是没有像浮点值那样的东西。 如果我放入调用函数,那么它将成功创建/打开文件。
fc=open("ABC.txt","a")
答案 0 :(得分:2)
问题可能在于代码中的其他位置,您已定义了一个名为open
的变量,该变量存储float
类型值。示例 -
open = 0.1
上面的行实际上用float变量覆盖了内置函数open
,因此在此行之后,对open
的任何调用都将引用float变量,从而导致问题。您不应该为变量使用内置名称,请尝试重命名变量。
答案 1 :(得分:0)
您必须使用变量名称“open”并在到达此代码行之前在代码中为其指定了一个浮点数。 像这样:
open = 2.3
请注意,对于您自己的变量使用内置函数的名称被认为是非常糟糕的做法(最终会遇到类似您正在提出的问题)。
如果您想说服自己这是问题所在,您可以在行前打印变量:
print open
如果您想要非常懒惰,并且无法在代码中找到“打开”的位置,您可以使用这个可怕的黑客:
openTemp = open
del open
open("file_name", "a")
open = openTemp
这将是最快的破解工作,但我不推荐它...清理你的代码更好!我只是提到它,因为看到这个很有意思,它是del如何工作的一个例子。在这种情况下,它可以让您对内置函数进行反向访问。