我有API Arcgis 然后导入arcgis.gis
我想找到该模块在工具方面的内容 所以例如我知道它有 .tags,但是我怎么知道它是否具有.feature_layers(因为显然不存在)。如此简单地在API中如何知道我可以使用什么?
答案 0 :(得分:0)
理想情况下,您会阅读该文档,但是如果没有可用的文档,在查看源代码之前,您可以执行以下操作
>>> import mymodule
>>> help(mymodule)
>>> dir(mymodule)
>>> mymodule.__dict__
... inspect类可以做更多的检查...(签出这个脚本,我没有写过,但是也不记得我从哪里得到的)
import inspect
import mymodule
def get_function_markdown(function):
return inspect.getdoc(function)
def parse_class(_class):
for name, data in inspect.getmembers(_class):
print '%s :' % name, repr(data)
def parse_module(module):
"""See what you can get in module."""
for name, data in inspect.getmembers(module):
if name == '__builtins__':
continue
if inspect.ismodule(data):
print "ismodule"
print '%s :' % name, repr(data)
elif inspect.isclass(data):
print "isclass"
print '%s :' % name, repr(data)
parse_class(data)
elif inspect.ismethod(data):
print "ismethod"
print '%s :' % name, repr(data)
elif inspect.isfunction(data):
print "isfunction"
print get_function_markdown(data)
print '%s :' % name, repr(data)
elif inspect.isgeneratorfunction(data):
print "isgeneratorfunction"
print '%s :' % name, repr(data)
elif inspect.isgenerator(data):
print "isgenerator"
print '%s :' % name, repr(data)
elif inspect.istraceback(data):
print "istraceback"
print '%s :' % name, repr(data)
elif inspect.isframe(data):
print "isframe"
print '%s :' % name, repr(data)
elif inspect.iscode(data):
print "iscode"
print '%s :' % name, repr(data)
elif inspect.isbuiltin(data):
print "isbuiltin"
print '%s :' % name, repr(data)
elif inspect.isroutine(data):
print "isroutine"
print '%s :' % name, repr(data)
elif inspect.isabstract(data):
print "isabstract"
print '%s :' % name, repr(data)
elif inspect.ismethoddescriptor(data):
print "ismethoddescriptor"
print '%s :' % name, repr(data)
elif inspect.isdatadescriptor(data):
print "isdatadescriptor"
print '%s :' % name, repr(data)
elif inspect.isgetsetdescriptor(data):
print "isgetsetdescriptor"
print '%s :' % name, repr(data)
elif inspect.ismemberdescriptor(data):
print "ismemberdescriptor"
print '%s :' % name, repr(data)
else:
print "Unknown"
print '%s :' % name, repr(data)
def main():
"""Testing."""
parse_module(mymodule)
if __name__ == '__main__':
main()