代码之家  ›  专栏  ›  技术社区  ›  Nicolaesse

检查方法是否导入,从x导入y

  •  0
  • Nicolaesse  · 技术社区  · 6 年前

    在Python3.7中,我想导入一些方法,稍后在同一个脚本中使用它们。在此之前,我想检查一下它们是否正确导入。

    基于 this 回答:我可以检查模块是否完全导入到脚本中,但是如果我只导入一个方法, form from X import Y ?

    我所做的

    我已经完成了以下代码片段:

    from shapely.geometry import asShape
    from shapely.geometry import Point
    import sys
    
    if 'shapely.geometry.asshape' in sys.modules:
      print('Shapely Geometry asshape ok')
    else:
      print('Shapely Geometry asshape NOT loaded')
    
    if 'shapely.geometry.point' in sys.modules:
      print('Shapely Geometry point ok')
    else:
      print('Shapely Geometry point NOT loaded')
    

    结果如下:

    未加载形状几何关联

    形状几何点确定

    重复的问题

    我不认为这是一个重复的问题,因为这里的所有其他问题都是关于检查模块是否导入(与表单一起 import Z )不仅仅是一些方法。

    2 回复  |  直到 6 年前
        1
  •  1
  •   Ahmad Khan John Mc    6 年前

    不管您是从模块中只导入一个函数,还是导入整个模块本身,整个模块总是导入到 sys.modules . 因此,在您的案例中,您必须检查导入的模块,而不是函数:

    'shapely.geometry' in sys.modules
    

    看看这个问题 'import module' vs. 'from module import function' .

        2
  •  1
  •   Shahar Klinger    6 年前

    内置函数dir()将为您提供一个包含所有导入的列表。本地导入的函数也将出现在那里。您可以使用以下方法进行检查:

    'myFunction' in dir ()