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