python/module.py

from datetime import datetime
import time
import threading
import sys
from modulefinder import ModuleFinder

print(__file__ , "begin", datetime.now())
def sysMod():
    print("\n\n=== sys.modules === ", __file__, datetime.now(), "\n\tsys.path", sys.path)
    for name, mod in sys.modules.items():
        print(f"{name} --> {mod!r} type={type(mod).__name__}" 
            f" __file__={mod.__file__ if hasattr(mod, '__file__') else '---'}"
            f" __cached__={mod.__cached__ if hasattr(mod, '__cached__') else '---'}")
    print("=== sys.modules === end", __file__, "\n\n")

def modFnd():
    mf = ModuleFinder()
    mf.run_script(__file__)
    print("\n\n=== report === ", __file__, datetime.now())
    mf.report()
    print("\n\n=== loop === ", __file__, datetime.now())
    for name, mod in mf.modules.items():
        print(f"{name} ==> {mod!r}")
    print(__file__ , "end", datetime.now())

sysMod()
#modFnd()
from modmod import *
pMod()