Không sử dụng .py
tiện ích mở rộng trong quá trình nhập của bạn.
Không from 8puzzle import *
hoạt động?
Đối với những gì nó đáng giá, from x import *
không phải là một mẫu Python ưa thích, vì nó làm tràn không gian tên của mô-đun đó vào ngữ cảnh hiện tại của bạn.
Nói chung, hãy cố gắng nhập những thứ bạn muốn cụ thể từ mô-đun đó. Bất kỳ toàn cục nào từ mô-đun khác đều có thể được nhập.
ví dụ: nếu bạn có, 8puzzle.foo
bạn có thể làm `từ nhập 8puzzle
Biên tập:
Mặc dù .py
thông điệp của tôi là đúng, nhưng nó không đủ.
__import__('8puzzle')
Đề xuất của người đăng khác là đúng. Tuy nhiên, tôi thực sự khuyên bạn nên tránh mô hình này .
Đối với một, nó dành riêng một phương thức Python nội bộ, riêng tư. Về cơ bản, bạn đang phá vỡ các giả định cơ bản về ý nghĩa của việc có thể nhập một mô-đun. Chỉ cần đổi tên tệp thành một thứ khác, chẳng hạn như puzzle8
, sẽ khắc phục được điều này.
Điều này sẽ làm thất vọng những lập trình viên Python có kinh nghiệm, những người đang mong đợi biết những gì bạn nhập ở trên cùng và đang mong đợi mã (cố gắng) tuân thủ PEP8 .