2015-03-23 3 views
0

Я пытаюсь использовать все функции определенного скрипта python news_Lucene.py в другом скрипте python ProcesosContinuos.py. У меня есть следующая структура для news_Lucene.py, которую я импортирую в своем ProcesosContinuous.py.AttributeError: объект 'module' не имеет индексации атрибутов

Код для news_Lucene():

class news_Lucene(): 

    @staticmethod 
    def indexing(): 
     #some code 

    @staticmethod 
    def get_set_terms(reader): 
     #some code 

    @staticmethod 
    def get_TFIDF(): 
     #some code 

    @staticmethod 
    def get_author_TFIDF(): 
     #some code 
#SOME CODE OUTSIDE STATIC METHODS 

В ProcesosContinuous.py Я пытаюсь следующее:

from engines.extras.download_datos_desambiguar import news_Lucene 

news_Lucene().indexing() 

Я также попытался

indexing()

, но он по-прежнему не работает , Он говорит AttributeError:'module' object has no attribute indexing. Что я делаю не так?

ответ

0

Вы импортировали модуль , а не объект класса, содержащий в модуль.

Использование:

news_Lucene.news_Lucene().indexing() 

или импортировать класс:

from engines.extras.download_datos_desambiguar.news_Lucene import news_Lucene 

Python styleguide рекомендует использовать lowercase_characters_with_underscores только для имен модулей и CamelCase для имен классов; это помогает избежать путаницы с вашими модулями и классами.

Чтобы соответствовать стилю, переименуйте свой модуль и свой класс; имя модуля может быть news_lucene, имя класса NewsLucene.

Отмечу, что весь ваш класс состоит только из статических методов. Если это единственная цель этого класса, вам необходимо: удалить класс в целом. Вместо этого сделайте все как функцию верхнего уровня. Python - это не Java, вам не нужно вообще использовать классы, если это не имеет смысла для вашей проблемы.

+0

Спасибо! Но можете ли вы сказать мне, что я должен сделать, чтобы сразу вызвать все функции класса 'news_Lucene()'? Вместо того, чтобы звонить один за другим? – HackCode

+0

@kaushaya: создать одну функцию, которая вызывает других? –

+0

В моем коде 'news_Lucene()', 'f3()' вызывает 'f2()'. Поэтому, если я просто позвоню 'f3()', он сможет получить доступ к 'f2()'? – HackCode

Смежные вопросы