New submission from Stefan Mosoi <st3f4n2...@gmail.com>:
Weird behaviour (maybe it's my opinion) in reload from importlib if i do: import importlib import sys import datetime importlib.reload(datetime.timedelta.__module__) I get Typeerror: reload() argument must be a module but if i do import importlib import sys import datetime importlib.reload(sys.modules.get(datetime.timedelta.__module__)) it works. The sys.modules.get i got from reload() code: def reload(module) if not module or not isinstance(module, types.ModuleType): raise TypeError("reload() argument must be a module") try: name = module.__spec__.name except AttributeError: name = module.__name__ if sys.modules.get(name) is not module: It wouldn't be easier to check if string do sys.modules.get ? And as a bonus a reload_module function that gets a class (or anything with __module__ and reloads that module, no question asked?) And i know it's easy to implement, but it would be nicer if was better handled in the lib :) Notes (if it matters): Python 3.9.1 x64 Windows I didn't test on other versions. ---------- components: Library (Lib) messages: 385765 nosy: st3f4n2006 priority: normal severity: normal status: open title: Importlib reload by module name (String) type: enhancement versions: Python 3.9 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue43037> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com