递归地探索任意python对象的工具。

pynaut的Python项目详细描述


pynaunt允许您深入研究和内省任意python对象。

例如,我们可以稍微研究一下os模块:

>>> from pynaut import Container
>>> import os
>>> obj = Container(os)
>>> len(list(obj.children))
203
>>> w = list(obj.grep_attr_names('wait'))
>>> len(w)
23
>>> [a.name for a in w]
['wait',
  'wait4',
  'wait3',
  'wait',
  'wait4',
  'wait3',
  'waitpid',
  'wait',
  'wait4',
  'wait3',
  'waitpid',
  'wait',
  'wait4',
  'wait3',
  'wait',
  'wait4',
  'wait3',
  'waitpid',
  'waitpid',
  'waitpid',
  'waitget',
  'waitget',
  'waitget']
>>> from types import ModuleType
>>> test = lambda c: isinstance(c.obj, (bool, list, ModuleType))
>>> foo = list(obj.get_attr_matches(test))
>>> len(foo)
620
>>> [a.name for a in foo][:10]
['UserDict',
  'errno',
  'path',
  'auto_magic',
  'genericpath',
  'stat',
  'os',
  'UserDict',
  'errno',
  'path']

此外,还支持在整个对象树中搜索满足任意 条件。

pynaut还包括一个非常基本的基于游标的接口(pynaut_curses),它允许您通过 通过属性树下降。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java BoneCP支持XA事务吗?   数组List<Element>List=new ArrayList<Element>的意思(4);在爪哇?   条件以显示Java中数组的最后一个元素   java字符串。替换(regex,string)以替换XML中的内容   java将JSON数据从另一个类传递到我的ImageAdapter,以提供我的图像路径   oracle应用程序中的java解析数据定义模板   java在泛型类重写中为什么有些类返回空值?请执行以下代码   使用java比较图形结构   带有正则表达式过滤器的MongoDB Java驱动程序聚合   java更改Tomcat web应用程序上下文   linux为什么我不能使用Commons IO FileUtils在Java中读取/proc,但可以使用普通的FileInputStream来读取?   内存泄漏是在单独进程中运行的替代方案   java如何使用新值退出while循环?   IntelliJ IDEA Java注释   java如何将arraylist从servlet传递到javascript?   Java数组从列中查找所有可能的组合   java Selenium Webdriver会打开一个额外的驱动程序窗口(间歇性)   使用“Djava”时出现java异常。系统班如果类加载器位于已签名的JAR中,则在JDK 11.0.11上使用“loader”   java当用户滑动到第一个片段时,我如何祝酒