2017-10-25 1 views
0

generalPy이라는 모듈이 있는데 해당 폴더의 python 파일에 액세스하려고합니다. 그래서 가져 오기 : from generalPy import *generalPy라는 전체 모듈을 가져 왔지만 클래스에 액세스 할 수 없습니다.

액세스하려는 특정 파일은 fractions.py입니다. 그것에는 이름을 가진 종류가있다 : 분수. 클래스의 인스턴스를 만들려고합니다 : fract = Fraction(). Btw, 매개 변수를 사용하지 않습니다. 그것은 generalPy 폴더에있을 때 내가 그 클래스에 액세스하는 이유 캔트

NameError: name 'Fraction' is not defined 

, 수입되었습니다 내가이 작업을 수행 할 때 오류가 발생합니다?

+1

내가 분수 반면, genaralPy 패키지가 아닌 모듈 이해합니다. py는 해당 패키지 내의 모듈입니다. fract = fractions를 시도 했습니까? fraction()? –

+0

'fract = fractions.Fraction()'을 시도하십시오. 또한 https://stackoverflow.com/questions/41276067/importing-class-from-another-file – yash

+0

을 참조하십시오. NameError : 'fractions'이름이 정의되지 않았습니다. – Jonas

답변

1
from generalPy import * 

이것은 generalPy의 모든 이름을 모듈의 네임 스페이스로 직접 가져옵니다. 일반적으로 '네임 스페이스 오염'으로 이어지는 좋은 아이디어는 아닙니다. 당신 자신이 당신의 코드에서이 글을 쓰는 찾아내는 경우에, 당신은 어쩌면 그냥 사용하여 더 나을 것 :

import generalPy 

소스 및 추가 읽기 : https://bytebaker.com/2008/07/30/python-namespaces/

관련 문제