gpt4 book ai didi

python - 如何在模块中搜索函数/类?

转载 作者:太空宇宙 更新时间:2023-11-04 06:10:45 25 4
gpt4 key购买 nike

我想知道某个函数/类是否存在于某个模块中。我确实知道如何使用 dir() 生成模块上层/层次结构中所有类/函数的列表例如,假设我想知道函数 now() 是否存在于 datetime 模块中:

import datetime
dir(datetime)

但这并没有列出函数now(),因为now()包含在更深层次(在datetime.datetime中到准确)。如何检查 now() 是否存在?或者也许有一种方法可以列出所有级别的所有内容?

最佳答案

这段代码递归地列出了模块的内容。但是请注意,如果两个子模块/对象/...共享相同的名称,它将失败

import time
import datetime

pool=[] # to avoid loops

def recdir(d,n=''):
children_all=dir(d)
children=[c for c in children_all if c[0]!='_' and not c in pool]
for child in children:
pool.append(child)
full_name=n+"."+child
print "Found: ","'"+full_name+"' type=",eval("type("+full_name+")")
string="recdir(d."+child+",'"+full_name+"')"
print "Evaluating :",string
time.sleep(0.2)
eval(string)

recdir(datetime,'datetime')

关于python - 如何在模块中搜索函数/类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18911197/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com