Ошибка импорта при импорте файла в python - PullRequest
0 голосов
/ 12 июня 2018

У меня есть два файла в одном месте, а именно 'hello-depend.py' и 'second-package.py'

hello-depend.py

 class HelloDepend():

    def depend():

         print "depend"

second-package.py

from hello-depend import HelloDepend

 class SecondPackage():

    def second():

       print "second"

       h = HelloDepend()

       h.depend()


 if \__name__ == '\__main__':

    s = SecondPackage()

    s.second()

Мне нужно создать объект для hello-depend.py из second-package.py.я связан с вышеупомянутым методом.Но я получаю «1013 * синтаксическая ошибка » при импорте «привет-зависит».

Ошибка:

Файл "second-package.py", строка 1

import hello-depend

            ^

SyntaxError: неверный синтаксис

Поэтому я попытался с помощью метода ниже.

import importlib

importlib.import_module ('hello-зависимость')

но я получаю " global name 'HelloDepend' не определено '

Пожалуйста, помогите мне решить эту проблему.

Примечание: Мне нужно сделать это без изменения имени файла.

1 Ответ

0 голосов
/ 12 июня 2018

Проблема здесь -.Python пытается обработать его как символ минус, и hello-depend не является допустимым идентификатором.

Попробуйте переименовать ваш файл, заменив - подчеркиванием (_)

Редактировать: Если выпросто не можете изменить имена файлов, какой бы ни была причина, тогда вы можете сделать

execfile('hello-depend.py')

Обратите внимание, что при этом файл не импортируется, он получает все глобальные переменные файла в ваш файл.Собственная сфера, и его крайне не рекомендуется решать эту проблему.

...