how to test if one python module has been imported?

后端 未结 3 1619
野趣味
野趣味 2020-11-30 04:49

How to test if a module has been imported in python?

for example I need the basics:

if not has_imported(\"sys\"):
   import sys

als

3条回答
  •  爱一瞬间的悲伤
    2020-11-30 05:01

    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 import 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.

提交回复
热议问题