История изменений
Исправление pawnhearts, (текущая версия) :
import sys, types
def reload_all():
for k, v in globals().items():
if type(v) == types.FunctionType and v.__module__ != "__main__":
reload(sys.modules[v.__module__])
globals()[k] = getattr(sys.modules[v.__module__], v.func_name)
или так
import sys, types, importlib
def reload_all():
for k, v in globals().items():
if type(v) == types.FunctionType and v.__module__ != "__main__":
globals()[k] = getattr(importlib.import_module(v.__module__), v.func_name)
Вроде работает, но это только для функций импортированных таким образом(и глобально). Для классов и самих модулей допилишь сам, если надо.
Исправление pawnhearts, :
import sys, types
def reload_all():
for k, v in globals().items():
if type(v) == types.FunctionType and v.__module__ != "__main__":
reload(sys.modules[v.__module__])
globals()[k] = getattr(sys.modules[v.__module__], v.func_name)
или так
import sys, types, importlib
def reload_all():
for k, v in globals().items():
if type(v) == types.FunctionType and v.__module__ != "__main__":
globals()[k] = getattr(importlib.import_module(v.__module__), v.func_name)
Вроде работает, но это только для функций импортированных таким образом. Для классов и самих модулей допилишь сам, если надо.
Исходная версия pawnhearts, :
import sys, types
def reload_all():
for k, v in globals().items():
if type(v) == types.FunctionType and v.__module__ != "__main__":
reload(sys.modules[v.__module__])
globals()[k] = getattr(sys.modules[v.__module__], v.func_name)
Вроде работает, но это только для функций импортированных таким образом. Для классов и самих модулей допилишь сам, если надо.