If you want to optimize by not importing things twice, save yourself the hassle because Python already takes care of this.
If you need this to avoid NameErrors
or something: Fix your sloppy coding - make sure you don't need this, i.e. define (import) everything before you ever use it (in the case if imports: once, at startup, at module level).
In case you do have a good reason: sys.modules
is a dictionary containing all modules already imported somewhere. But it only contains modules, and because of the way from <module> import <variable>
works (import the whole module as usual, extract the things you import from it), from sys import path
would only add sys
to sys.modules
(if it wasn't already imported on startup). from pkg import module
adds pkg.module
as you probably expect.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…