2015-04-24 2 views
0

Я знаю, что эти вопросы были заданы раньше, но я до сих пор не понимаю. :-(
Пример кода:TypeError (объект 'str' не подлежит вызову)

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
Может кто-нибудь объяснить мне это?

Edit:

Я сделал новый файл, и я написал:

x = str(5) 
print(x) 

Результат:

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

В IDE питона он работает, но с Sikuli IDE он дает ошибку.
У меня был питон код, который работал немного отличается в с Sikuli, может быть, что здесь, как хорошо ...

+0

Работает для меня – lapinkoira

+5

Я предполагаю, что вы используете 'str = 'somestring'', который перезаписывает функцию str строковым объектом. – Mailerdaimon

+1

Убедитесь, что нет устаревшего файла .pyc. –

ответ

0

Я получил эту проблему.
Это происходит, когда вы используете Java 8 в сочетании с Sikuli 1.0.1.
Если я использую Java 8 с предварительным выпуском Sikuli 1.1.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> 
+0

Проблема в том, что я делаю большой скрипт, где это происходит сейчас. Проблема я локализовал, и я сделал эту небольшую строку кода. С учетом реакций здесь может возникнуть проблема сикули. Поскольку какой-то код на Python работает немного по-другому. – Tenzin

+0

Нам нужно увидеть остальную часть кода, мы не можем догадаться, во всяком случае, что-то происходит с переменной value2 где-то, наблюдайте за ней и отлаживайте ее – lapinkoira

+0

Я открыл Sikuli IDE, создал новый файл. Поместите этот код примера в него. Сохраните и запустите. Та же проблема. – Tenzin

0

определен ул где-то до того, что код

str = 'Example' 

Вы должны быть осторожны, чтобы не переопределить некоторые предопределенные функции. Не используйте str, int, list, bool, dict, print, len и т.д.

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