p = __import__(name, globals(), locals(), level=1)
lst = p.__all__ if "__all__" in dir(p) else dir(p)
if lst:
del globals()[name]
for k in lst:
if not k.startswith("__"):
globals()[k] = p.__dict__[k]
__all__.append(k)
After Change
p = __import__(name, globals(), locals(), level=1)
lst = p.__all__ if "__all__" in dir(p) else dir(p)
if lst:
globals().pop(name, None)
for k in lst:
if not k.startswith("__"):
globals()[k] = p.__dict__[k]
__all__.append(k)