查找模块中显式定义的函数 (python)

2024-05-29

好的,我知道您可以使用 dir() 方法列出模块中的所有内容,但是有什么方法可以仅查看该模块中定义的函数吗?例如,假设我的模块如下所示:

from datetime import date, datetime

def test():
    return "This is a real method"

即使我使用检查()来过滤掉内置函数,我仍然保留了导入的任何内容。例如我会看到:

['日期'、'日期时间'、'测试']

有什么办法可以排除进口吗?或者另一种方式来找出模块中定义的内容?


您在寻找这样的东西吗?

import sys, inspect

def is_mod_function(mod, func):
    return inspect.isfunction(func) and inspect.getmodule(func) == mod

def list_functions(mod):
    return [func.__name__ for func in mod.__dict__.itervalues() 
            if is_mod_function(mod, func)]


print 'functions in current module:\n', list_functions(sys.modules[__name__])
print 'functions in inspect module:\n', list_functions(inspect)

编辑:将变量名称从“meth”更改为“func”以避免混淆(这里我们处理的是函数,而不是方法)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

查找模块中显式定义的函数 (python) 的相关文章

随机推荐

  • C++ 编译器必须选择两个转换运算符中的哪一个?

    一个类可以声明多个转换运算符 特别是 它可以是某种类型的转换运算符以及同一类型的常量引用 如果请求转换为该类型 则必须选择两个转换运算符中的哪一个 考虑一个例子 include
  • 正则表达式获取模式的最后一次出现

    我有一个字符串 我需要选择最后一次出现的模式 该字符串是 1302638400000 0 0 1302724800000 0 610 64999999999998 1302811200000 0 2266 6500000000001 130
  • 如何从互联网访问本地网络内的服务器

    假设我有一个服务器应用程序在未直接连接到互联网但通过路由器连接的计算机上工作 所以问题是如何从不在内部网络 从互联网 内的另一台计算机连接到该服务器 据我所知 管理员可以配置路由器将指定端口请求重定向到该计算机 但我可以自动执行此操作吗 我
  • JSF 2.x @EJB 依赖注入错误

    因此 正如编程中通常发生的那样 我提出了一个问题 而一个潜在的解决方案又引发了更多问题 和错误 我刚开始使用 servlet JSF 和 EJB 并且遇到了依赖注入错误 这是我原来的问题 JSF h 标签不显示 https stackove
  • 从服务器获取当前日期时间并将其转换为 C# 中的本地时间

    帮助 我有一台服务器 其运行时间为 GMT 07 00 我的当地时间是 GMT 05 30 小时 我需要从服务器获取当前日期和时间 并将该日期和时间转换为我的当地时间 我已经尝试了很多代码 但仍然没有找到连续的方法来做到这一点 有人可以帮我
  • 当我将文件存储在 HDFS 中时,它们会被复制吗?

    我是 Hadoop 新手 当我使用以下方式存储 Excel 文件时hadoop fs putcommoad 它存储在HDFS中 复制因子为3 我的问题是 是否需要3份并分别存储到3个节点中 这是 HDFS 工作的漫画 https docs
  • C++11 非阻塞生产者/消费者

    我有一个 C 11 应用程序 其中有一个生成数据的高优先级线程和一个消耗数据的低优先级线程 在我的例子中 将其写入磁盘 我想确保高优先级生产者线程永远不会被阻塞 即它仅使用无锁算法 使用无锁队列 我可以从生产者线程将数据推送到队列 并从消费
  • Haskell 为替代的 Either 数据类型定义 Functor 实例

    通过 Typeclassopedia 获得一些使用类型类的路由 想要替代Either的一个实例Functor 但即使检查定义Either作为一个例子Functor总是给我带来麻烦 有这个 但不会编译 data Alt a b Success
  • 更新 Sqlalchemy 中的多个列

    我有一个在 Flask 上运行的应用程序 并使用 sqlalchemy 与数据库交互 我想用用户指定的值更新表的列 我正在使用的查询是 def update table value1 value2 value3 query update T
  • adb 今天无法连接到 VirtualBox 中的 Android-x86

    我在 VirtualBox 中成功安装了 Android x86 v3 2 eeepc 一段时间 这是帮助我在 Android 上调试 USB 主机应用程序的好方法 此类配置的安装是 安装VirtualBox 将 Android x86 v
  • 向前和向后迭代

    我们有一个双端结构列表 例如LinkedList 我需要向前和向后迭代元素 例如 向前 4 次 然后向后 2 次 然后向前 5 次 在 C 中它将是 iter iter iter 在 Rust 中 我只看到 next and rev 这很不
  • Excel 中使用通配符 {*} 进行 Vlookup

    我有下表 现在 我想检查主题是否具有数据中存在的任何文本 col F I used VLOOKUP A2 F F 1 0 但它正在给予 N A Try 公式为B2 SUM COUNTIF A2 F 2 F 3 gt 0 Edit SUM C
  • 验证错误值无效[重复]

    这个问题在这里已经有答案了 我知道这是一个常见的错误 并且有很多关于它的问题 但我必须创建一个新的问题 这是我的 jsf 页面
  • Xcode11 编辑器(通过“将编辑器添加到右侧”)被禁用

    自从我升级到以来它一直在工作Xcode11 2 几天前注意到了它 现在它不允许我向布局添加编辑器 如同Xcode 11 中引入的编辑器更改 https www avanderlee com xcode xcode assistant edi
  • Bing 图像搜索 API 按图像大小过滤

    我正在使用 jsonp 和 jquery ajax 来使用 Bing 图像搜索 API 我能够检索搜索结果 但我无法找到按图像大小过滤结果的方法 我在文档中找不到任何与此相关的内容 有谁知道是否有一种方法可以按图像大小过滤结果或对此进行任何
  • 在ghci中,如何删除现有的绑定?

    我收到一个 绑定影响现有绑定 错误 类似于以下错误this https stackoverflow com questions 2902716 in haskell what does it mean if a binding shadow
  • 使用 docker-compose 从私有 GitHub 存储库构建 Docker 镜像

    我知道可以提供 GitHub HTTP URL 作为服务的构建上下文 version 3 9 services my app build https github com rambo my app git 上述方法对于公共回购来说效果很好
  • Facebook广告,将客户页面添加到业务经理

    我想要做的是能够从我的 Facebook 帐户创建和发布 FB 广告 并使用 Facebook api 将其发布到其他用户的 Facebook 页面上 用户可以安装我的应用程序 该应用程序将要求管理页面 业务管理权限以及其他一些所需的权限
  • MongoDB的ObjectId是如何生成的?

    他们是吗somewhat随机的 我的意思是 人们能够将它们分开吗 它们不是随机的 可以很容易地预测 BSON ObjectID 是一个 12 字节值 由 4 字节时间戳组成 自纪元以来的秒数 一个 3 字节 机器 ID 2 字节进程 ID
  • 查找模块中显式定义的函数 (python)

    好的 我知道您可以使用 dir 方法列出模块中的所有内容 但是有什么方法可以仅查看该模块中定义的函数吗 例如 假设我的模块如下所示 from datetime import date datetime def test return Thi