2016-12-13 2 views
0

그래서 현재 작성한 클래스를 현재 Python 프로젝트에 입력하고 싶습니다.PyDev 프로젝트에 여러 모듈 포함

이 목적으로 lib이라는 폴더를 만들고이 파일에 __init__.py 파일을 만듭니다. 내 파일 구조가 주 프로젝트 폴더에있는 __init__.py 파일에서이

project_folder 
    lib 
     class1_folder 
      class1.py 
     class2_folder 
      class2.py 
    _init_.py 
    project_script.py 

처럼 보이는, 내가 코드의 2 개 라인을 가지고있다.

from class1_folder import class1 
from class2_folder import class2 

나는 내 project_script.py에서 구현 된 클래스를 사용할 수 있어야합니다. 너무 깊게 중첩 된 경우 어떻게 호출 할 수 있습니까? project_script에서 , 나는 from lib.class1_folder.class1 import * 다음 않는다 그러나 나는 내려면 ImportError: No module named class1_folder

답변

0

__init__.py 파일을 패키지로 처리해야하는 각 폴더에 추가해야합니다 (예 : 및 class2_folder에 추가해야 함).

0

당신이 당신이 실제로 무엇을해야하는지 수입 클래스 1을 말함으로써, 파일 class1.py을 가져하면된다하려고하는 것은 내에서 클래스를 가져올 수있다 class1.py 파일 (파일 이름을 바꾸는 것이 좋을 수도 있지만 약간 혼란 스럽습니다 :)). 그냥하지만, 마음에 계속

from class1 import Dog 
from class2 import Cat 

을 : 그래서, (혼동을 피하기 위해 같은, 그냥 완전히 다른 무언가를 사용하는)의, 당신은 사용해야합니다 수업은 개와 고양이라는 것을, 예를 들어, 가정 해 봅시다 위의 파일은 모든 파일이 같은 디렉토리에있는 경우에만 작동하므로 동일한 디렉토리에 모두 보관하는 것이 좋습니다.

"class1 import Dog"을 쓸 때 혼란스러운 점이 한 가지 더 있습니다. class1은 class1.py를 의미하며 끝에는 파일 확장자가 없습니다. 그것은 실제 수업의 이름을 나타내지 않습니다.

+0

lib 폴더로 할 수 없습니까? 여기서 문제는 많은 프로젝트에서 사용할 하나의 통합 모듈을 만들고 싶다는 것입니다. 필자는 필자의 작업에 필요한 특정 데이터 유형과 IO 기능을 구현했습니다. 1 개의 프로젝트 폴더에이 모든 스크립트가있는 경우 전체 프로젝트가 매우 복잡해집니다. – Jack

관련 문제