파이썬 콘솔에서 파이썬 클래스를 사용하는 데 문제가 있습니다. 자동으로 모든 클래스를 전역 네임 스페이스로 가져 와서 어떤 prefix.module.names도없이 사용할 수 있습니다. 여기 Python - 콘솔 클래스 네임 스페이스로 패키지 클래스 가져 오기
는projectname/
|-__init__.py
|
|-main_stuff/
|-__init__.py
|-main1.py
|-main2.py
|
|-other_stuff/
|-__init__.py
|-other1.py
|-other2.py
각 파일은 같은 이름, 예를 들어, 클래스를 정의 ... 내가 지금까지있어 무엇 main1.py는 Main1이라는 클래스를 정의합니다.
내 PYTHONPATH
은 projectname /의 절대 경로입니다.
나는이 포함 된 파이썬 시작 파일이있어 :
from projectname import *
을하지만이 날에 내 모든 클래스를 사용하지 않습니다.
ob=Main1()
을하지만, 메인 1은 현재 이름 공간 내에 있지 않은, 그래서 그것은 작동하지 않습니다 파이썬 콘솔을 시작하면 나는 쓸 수 있도록하고 싶습니다.
import main_stuff
projectname/main_stuff/__init__.py
에서 : 등등
import other_stuff
__all__ = ["main1", "main2", "main3"]
과
나는projectname/__init__.py
에서 ... __init__.py
파일에 가지를 추가했습니다. 그리고 내 시작 파일에 난 덧붙였다 쓰고 난 아직도 가지고있는 파이썬 콘솔 내에서 클래스를 사용하는
from projectname.main_stuff import *
from projectname.main_stuff/other_stuff import *
그러나 :
ob=main1.Main1()
은 내가 main1.
부분이 필요하지 않으려는 것입니다. 누구든지 파이썬 콘솔을 사용할 때 클래스를 전역 네임 스페이스에 자동으로 넣을 수있는 방법을 알고 있습니까?
감사합니다.
는 ==== 편집 ====
내가 필요로하는 클래스 수준에서 패키지를 가져 오는 것입니다하지만 from package import *
나에게 모듈 수준에서 모든 것을 제공합니다. 나는이 같은 일을하는 쉬운 방법 후 해요 :
for module in package do:
from package.module import *
==== 나는 개별적으로 내 파이썬 시작 파일에 클래스 수입을 추가 결국
ANOTHER 편집 ====. 그것을 유지하는 오버 헤드로 인해 이상적인 것은 아니지만 원하는대로합니다.
from class1.py import Class1
from class2.py import Class2
from class3.py import Class3
+1 "쏟아지는 버킷" –