2013-09-03 1 views
2

I가 내가 주어진 파일에 다음 가져 오기를 실행하면 Ui_MaterialsmaterialsFrame.py에 정의라는 이름의 클래스 :파이썬은 C/C++와 같은 이중 가져 오기를 가지고 있습니까?

Traceback (most recent call last): 
    File "./main.py", line 110, in <module> 
    main() 
    File "./main.py", line 91, in main 
    interfaceObj.showMaterials() 
    File "/home/mohsen/codes/amlak/amlak/src/common/interface/interface.py", line 80, in showMaterials 
    self.ui = Ui_Materials() 
NameError: global name 'Ui_Materials' is not defined 

참고 :

나는 다음 역 추적을 얻을

from common.interface.interface import ShowHide 

  1. 을 사용하는 interfaces에 함수가 있습니다.210
  2. 내가 import line라고 말하면 모든 것이 정상입니다.

질문 : 문제를 어떻게 해결할 수 있습니까? 선을 가져와야합니다.

+0

ShowHide는 무엇입니까? – slackmart

+0

'클래스 이름'입니다. 차이는 없습니다. ShowHide 대신'*'를 사용하면 위의 결과를 얻습니다. – PersianGulf

+0

알았어, common.interface.interface가 실제로 파이썬 모듈인지 확인하십시오. 또한 ShowHide 클래스는 해당 모듈 안에 있습니다. common.interface.interface 컨텐츠를 게시 할 수 있습니까? :) – slackmart

답변

1

Ui_Materials 클래스를 포함하는 모듈을 ShowHide 모듈에 가져와야합니다. 파이썬에서는 순환 가져 오기를 수행 할 수 없습니다. (첫 번째 모듈이 두 번째 모듈을 가져 오면 두 번째 모듈은 첫 번째 모듈을 가져 오지 않아야하며 첫 번째 모듈을 가져 오지 않아야하며 첫 번째 모듈을 두 번째로 가져오고 두 번째 모듈에서 세 번째 모듈을 가져 오지 않아야합니다.)