다른 파이썬 파일에서 변수를 가져 오려고합니다.다른 파일에서 변수 가져 오기 (importlib)?
a.py
이 - 작품,하지만 난 정적 이름 a
from a import *
print(text)
c.py
수 없습니다 - -
text="Hello, world"
print("imported")
b.py
를 가져올 수
import importlib
X = "a"
try:
text = ""
i = importlib.import_module(X)
print(i)
print(text)
except ImportError as err:
print('Error:', err)
try:
text = ""
i = importlib.__import__(X , globals=True, locals=True, fromlist=[], level=0)
print(i)
print(text)
except ImportError as err:
print('Error:', err)
try:
text = ""
i = importlib.__import__(X , globals=True, locals=True, fromlist=[text], level=0)
print(i)
print(text)
except ImportError as err:
print('Error:', err)
ouptut 작동하지 것은 :
imported
<module 'a' from '/tmp/a.py'>
<module 'a' from '/tmp/a.py'>
<module 'a' from '/tmp/a.py'>
그러나 text
은 작동하지 않습니다.
d.py
-
X = "a"
from X import *
print(text)
작동하지는 from MODULE import *
로 importlib
를 사용할 수 있습니까?
실제로 별표 가져 오기를 사용해서는 안됩니다. 별 가져 오기는 네임 스페이스를 오염시키고, 코드를 유지 관리 할 수 없으며 (이름을 가져온 모듈을 알지 못합니다.) 예기치 않은 방식으로 중단됩니다. 이전에 가져온 다른 이름을 음영 처리하는 가져온 모듈의 새 이름으로 정의). –