Nie używaj .py rozszerzenia w imporcie.
Robi from 8puzzle import * ?
Tyle ile jest warte, from x import * nie jest preferowanym wzorcem Pythona, ponieważ upuszcza przestrzeń nazw tego modułu do bieżącego kontekstu.
Ogólnie rzecz biorąc, spróbuj zaimportować wybrane rzeczy z tego modułu. Można zaimportować dowolny globalny z innego modułu.
np. jeśli masz 8puzzle.foo możesz zrobić `from 8puzzle import
Edytować:
Podczas gdy mój .py wiadomość jest poprawna, nie wystarczy.
__import__('8puzzle')Sugestia drugiego autora jest poprawna. Jednak bardzo polecam unikanie tego schematu .
Po pierwsze, jest to zarezerwowana wewnętrzna, prywatna metoda Pythona. Zasadniczo łamiesz podstawowe założenia dotyczące możliwości zaimportowania modułu. Po prostu zmień nazwę pliku na inną, na przykładpuzzle8 , rozwiązuje ten problem.
Spowoduje to cholerną frustrację doświadczonych programistów Pythona, którzy oczekują, że będą wiedzieć, jakie importowane pliki znajdują się na szczycie i oczekują, że kod (spróbuje) być zgodny z PEP8 .