동일한 디렉토리에있는 일련의 파이썬 모듈이 작성되었으며 ImportError에 문제가 있습니다.모듈을 '다시 가져 오기'할 때 왜 ImportError가 발생합니까?
내가 사용하는 세 개의 모듈은 draw_menu.py
, errors.py
및 file_operations.py
입니다. 내가 오류 코드의 목록이 필요합니다 errors.py
에서
import file_operations
을 사용하고있는 코드가 포함 된 파일을 열
file_operations.py
에 정의 된 사용자 정의 방법을 사용하고 있습니다.
file_operations.py
error.py
에 정의 된 방법을 사용하여 오류 (예 : 파일을 찾을 수 없음)가 발생할 때 오류 메시지를 인쇄합니다. 그러므로 나는 여기 같은 방식으로 import errors
을 사용한다.
위의 작업은 정상적으로 작동하지만 draw_menu.py
을 사용하여 ascii 메뉴의 옵션을 정의하는 파일을 사용하므로 (따라서 import file_operations
) ImportError가 발생합니다. file_operations
< - - errors
<-file_operations
그것은 각 중요하다
draw_menu
< : 당신이 좋아하는 경우 '수입 나무'흐름 때문에 다음과 같이
ImportError: cannot import name file_operations
나는이 것을 이해 모듈을 개별적으로 사용할 수있는 이유는 무엇입니까? import file_operations
을 errors.py
에서 제거하지 않고이를 극복 할 수있는 방법은 무엇입니까? (예상대로)
감사합니다
톰
답장을 보내 주셔서 감사합니다. 두 모듈을 별도로 보관하고'errors.py'에 정의 된 필수 메서드 내에서'import file_operations'를 옮겼습니다.이 문제가 해결되었습니다. 일반적으로 순환 수입에서 어떤 종류의 문제가 발생합니까? – Thorsley
@Thorsley : http://stackoverflow.com/questions/3082015/python-module-initialization-order/3082097#3082097 –
http://effbot.org/zone/에서 파이썬으로 가져 오기에 대한 오래된 좋은 기사가 있습니다. import-confusion.htm을 참조하십시오. 읽는 가치가 있습니다. – mavnn