2012-01-10 2 views
3

У меня есть 2 класса. Первый называется тест и проходит следующим образом:Класс импорта Python из локальной папки

import textbox 
class test: 

    a=textbox("test") 
    a.run() 

второй класс текстовое поле и идет следующим образом:

class textbox(): 
    def __init__(self, string): 
     self.string=string 
    def run(self): 
     print string 

я получаю эту ошибку

File "C:\Users\User\Desktop\edoras\gui\test.py", line 4, in test 
    a=textbox("test") 
TypeError: 'module' object is not callable 

Я использую плагин затвора pydev

+0

Можно ли считать (как @silvado в своем вопросе), что класс 'textbox' объявлен внутри модуля' textbox'? –

ответ

7

Попробуйте

a = textbox.textbox("test") 

или в качестве альтернативы использовать

from textbox import textbox 
+0

Это справедливо только в том случае, если это предположение, что класс 'textbox' находится в файле' textbox.py', является истинным. – gecco

+1

Да, я догадывался об этом из инструкции 'import'. – silvado

+0

Спасибо! вы решили мою проблему! – John

0

Вы звоните непосредственно в модуль текстового поля, которое не допускается.

Возможно, он содержит функцию -определитель? В этом случае вам следует обратиться

textbox.textbox («тест»)

(первое текстовое поле будет имя модуля, а вторая функция внутри него)

1

Не уверен, что ошибки вас но ваша заявка на печать в текстовом поле.run неверна:

print self.string 
Смежные вопросы