愉快地打印漂亮的目录

pdir2的Python项目详细描述


:warning:pdir2很快就会切换到只支持python 3.5+的代码库,因为我想添加类型提示并应用那些很酷的工具,比如mypy。Python 2兼容版本将存在于0.3 .x分支中,并且仍将接受bug修复。所有新特性都将在master上开发,因此是python 3.5+独占的。

简而言之,如果您仍在使用Pdir2 for Python<;3.5,请通过pip install "pdir2>=0.3,<0.4"安装。

pdir2:pretty dir()带着喜悦打印

Build StatusSupported Python versionsPyPI Version

你有没有想过有更好的dir()输出?我愿意。所以我创造了这个。

功能

  • 属性按类型/功能分组,颜色优美。

  • 支持颜色自定义,here's how

  • 支持所有平台,包括windows(感谢colorama)。

  • 支持ipythonptpythonbpythonJupyter Notebook!有关详细信息,请参见wiki

  • pdir()的返回值仍然可以用作名称列表。

  • 属性搜索

    您可以使用.s().search()搜索某些名称:

    默认情况下,搜索不区分大小写。
    search(name, case_sensitive=True)进行区分大小写的搜索。

  • :star2:属性筛选

    properties:查找被检查对象中定义的属性/变量。

    methods:查找在被检查对象中定义的方法/函数。

    public:查找公共属性。

    own:查找不是从父类继承的属性。

    这些过滤器可以链接!订单不重要。

    例如,使用pdir(obj).public.own.methods查找所有公共方法。

    您还可以对返回的结果调用search

    见a complete example

安装

一般

pip install pdir2

关于名字。我想叫它“pdir”,但已经有一个 pypi上的名字。当然,我的更好。

软呢帽

dnf install python3-pdir2
--or--
dnf install python2-pdir2

自动导入

作为dir()更好的替代方案,自动导入更方便 启动repl时的pdir2。幸运的是,python提供了这样一种方法。在您的.bashrc(或.zshrc)中,添加以下行:

export PYTHONSTARTUP=$HOME/.pythonstartup

然后,在主文件夹中创建.pythonstartup。添加一行:

import pdir

下次启动repl时,pdir()已经在那里了,万岁!

测试

只要运行pytest,或者如果愿意,使用tox

发布历史记录

0.3.1(2018-10-25)

  • 添加对__slots__(44,45)的支持
  • @staticmethod与其他描述符(38,42)分开
  • 添加__post_init__支持

特别感谢@liwt31的巨大贡献。

0.3.0(2018-02-10)

  • 添加对各种过滤器的支持(37)

0.2.0(2017-04-04)

  • 添加对颜色自定义的支持。(14)

0.1.0(2017-03-16)

  • 添加对ipython、ptpython和bpython的支持(4)

0.0.2(2017-03-11)

API更改(向后兼容)

  • search函数(5)
  • 中添加了case_sensitive参数

错误修复

  • 调用pdir(pandas.dataframe)时出错(1)
  • 方法现在被认为是函数(6)

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

推荐PyPI第三方库


热门话题
java使用split函数分割字符串,但没有得到期望的结果   未找到包含derby数据库嵌入架构的sql Java桌面应用程序错误   java elasticsearch vs solr用于定制全文搜索系统   java Android:创建没有startOffset的动画延迟?   java如何查看其他应用程序接收的数据?   java如何在Linux中使用D和classpath选项运行jar文件   java和域设计最佳实践   具有相同内存位置的java数组,将显示为输出   连接到java中的elasticsearch?   Java Playframework重定向到带有Json负载的外部url   java无法在Android平台上使用InputStream为蓝牙socket创建ObjectInputStream   使用POI将Excel日期转换为Java日期,年份未正确显示   oracle从数据库层还是Java层调用webservice?