2017-11-06 1 views
-2

Spyder를 사용하고 있습니다. 3.2.4 모듈 (또는 폴더) A를 만들고 파일 이름을 b.py로 만듭니다. b.py에서 나는 내가 수입 B에서 test.pySpyder에서 자체 정의 모듈을 가져 오는 중 오류가 발생했습니다. 3.2.4

test.py

에 정의 된 클래스보다 B = B()

내가 가져 오기를하고 지금

class B():을 만들었습니다 오류 ImportError: cannot import name 'B'

을 얻는 것은 어떻게이 문제를 해결합니다.

+0

그냥'B 가져 오기 B' 첫째 B에서 파일 이름입니다 사용 b.B없이 액세스 할 수 있습니다. – BladeMight

답변

0

파일 a.py :

from b import B 
class A: 
    def call(): 
     B.hello() 
A.call() 

파일 b.py :

class B: 
    def hello(): 
     print("Hello") 

실행 a.py 출력은로 그 파일 이름을 사용할 필요가 파이썬에서 다른 * 평 파일에서 클래스를 가져, Hello 것 수입원, 예. bb.py입니다.

당신은 거기에 폴더와 * 평 파일이 있고, 당신은 당신이 모듈 세트 및 모듈과 같은 파일 이름으로 폴더를 사용합니다 가져올하십시오. 예를 들어

:

는 test.py에서
./A/b.py 
./test.py 

:

from A import b 
b.B.hello() 

from A import b 수입 전체 b.py 파일, 당신은에서 에 지정해야합니다에만 B 클래스를 가져옵니다 :

를 클래스 후
from A.b import B 

B

+0

필자의 경우, A는 폴더 (모듈)이고, b.py는 python 파일이다. test.py라고하는 다른 파일을 생성하고있다. test.py에서 첫 번째 코드 줄은 "from A import B"이고 두 번째 줄은 "b = B()"입니다.이 스크립트를 실행하면 "ImportError : 이름을 'B'가져올 수 없습니다."라는 오류가 발생합니다. 이 문제를 해결하십시오. –

+0

그런 다음''A.b import B에서''A/b.py'에서 클래스'B'를 가져 오십시오. – BladeMight

+0

A.b 가져 오기 덕분에 B가 작동 함 –

관련 문제