Не використовуйте .py
розширення під час імпорту.
Працює from 8puzzle import *
?
Наскільки це варте, from x import *
це не бажаний шаблон Python, оскільки він зміщує простір імен цього модуля у ваш поточний контекст.
Загалом, спробуйте імпортувати речі, які ви конкретно хочете від цього модуля. Можна імпортувати будь-який глобальний з іншого модуля.
наприклад, якщо у вас є, 8puzzle.foo
ви можете зробити `з 8puzzle import
Редагувати:
Хоча моє .py
повідомлення правильне, воно недостатнє.
__import__('8puzzle')
Припущення іншого плаката є правильним. Однак я настійно рекомендую уникати цієї моделі .
З одного боку, це зарезервований внутрішній, приватний метод Python. Ви в основному порушуєте основні припущення щодо того, що означає можливість імпортувати модуль. Просто перейменування файлу на щось інше, наприклад puzzle8
, виправить це.
Це погіршить досвідчених програмістів Python, які очікують знати, що ваш імпорт знаходиться вгорі, і очікують, що код (спробує) відповідати PEP8 .