在Python 3.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')
这给了我以下结果:
未加载形状几何形状
形状几何点正常
重复问题
我不是这个重复的问题,因为SO上的所有其他问题都是关于检查是否导入模块(格式为import Z
),而不仅仅是一些方法。
答案 0 :(得分:1)
从模块中仅导入一个功能还是整个模块本身都没关系,整个模块始终会导入sys.modules
中。因此,在您的情况下,您必须检查导入的模块而不是函数:
'shapely.geometry' in sys.modules
答案 1 :(得分:1)
内置函数dir()将为您提供包含所有导入的列表。您本地导入的功能也会显示在此处。您可以使用以下方法进行检查:
'myFunction' in dir ()