TypeError(' str'对象不可调用)

时间:2015-04-24 08:00:10

标签: python sikuli

我知道以前曾问过这些问题,但我仍然不明白。 :-(
示例代码:

nCount = 1
class Vrijdag():
    def __init__(self):
        self.day5('Dummy', nCount)
    def day5(self, value1, value2):
        self.value1 = value1
        self.value2 = value2
        value2B = str(value2)
        print(value1)
        print(value2B)
Vrijdag()

这一行:value2B = str(value2)
返回此错误:[error] TypeError ( 'str' object is not callable )

我不明白为什么。
我以前用它,然后它工作正常。
并非我正在改变value2 任何人都可以向我解释这个吗?

编辑:

我创建了一个新文件并写道:

x = str(5)
print(x)

结果:

[error] script [ HelloWorld4 ] stopped with error in line 1
[error] TypeError ( 'str' object is not callable )

在python IDE中它可以工作,但是使用Sikuli IDE会出错。
我有一个与Sikuli有点不同的python代码,也可能是这里的一个东西......

3 个答案:

答案 0 :(得分:0)

添加此答案以告诉您它为我工作,向我们展示您正在使用的其余代码:

In [1]: nCount = 1

In [2]: class Vrijdag():
   ...:     def __init__(self):
   ...:         self.day5('Dummy', nCount)
   ...:     def day5(self, value1, value2):
   ...:         self.value1 = value1
   ...:         self.value2 = value2
   ...:         value2B = str(value2)
   ...:         print(value1)
   ...:         print(value2B)
   ...:         

In [3]: Vrijdag()
Dummy
1
Out[3]: <__main__.Vrijdag instance at 0x8b55cec>

答案 1 :(得分:0)

您已在该代码之前的某处定义了str

str = 'Example'

您必须小心不要覆盖某些预定义的功能。不要使用strintlistbooldictprintlen等。

# python 2
True = False
if (True == False):
    print('be careful')

答案 2 :(得分:0)

我遇到了问题。
当您将Java 8与Sikuli 1.0.1结合使用时会发生这种情况。
如果我使用Java 8和Sikuli 1.1.0预发行版,一切都可行。