在文件系统中找到python对象定义

pyloc的Python项目详细描述


Build StatusCoverage StatusLast released versionSupported python versionsDownload ratePackage stabilityLicense

pyloc在 你的文件系统。

简介

pyloc与^{tt1}非常相似$ 提供。但是,它只专注于检索文件名(和 最后是行号),其中定义了给定的python对象。 对象可以是包、模块、类、方法或函数。

pyloc进一步努力找出行和列 数字及其输出的格式设置为便于传递 到emacsclientvi

示例

您可以在子进程包中看到Popen.wait方法的位置:

$ python -m pyloc -f human subprocess:Popen.wait
Filename: /Users/polrop/.pyenv/versions/2.7.9/lib/python2.7/subprocess.py
Line: 1379

$ python -m pyloc -f human email.utils:formataddr
Filename: /Users/polrop/.pyenv/versions/2.7.9/lib/python2.7/email/utils.py
Line: 85

(如果您的系统中有不同的 安装路径和版本)

注意,对象命名语法如下:module[:qualname] 从0.2.0版开始,语法module[.qualname]a la pydoc也是 支持。

要在Emacs中打开它,您可以执行以下操作:

$ emacsclient `python -m pyloc -f emacs subprocess:Popen.wait`

或在VIM中:

$ vim `python -m pyloc -f vi subprocess:Popen.wait`

如果您一直懒得键入-f <format>,并且经常使用 同样的格式,您可以这样设置默认输出格式(您可以 可以在.zshenv.bashrc中添加此行:

$ exportPYLOC_DEFAULT_FORMAT=emacs

pyloc将始终基于python解释器定位对象 您正在使用:

$ python3 -m pyloc -f human subprocess:Popen.wait
Filename: /Users/polrop/.pyenv/versions/3.4.3/lib/python3.4/subprocess.py
Line: 1526

$ /usr/local/bin/python -m pyloc -f human email.utils:formataddr
Filename: /usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/email/utils.py
Line: 85

$ /usr/bin/python -m pyloc -f human email.utils:formataddr
Filename: /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/email/utils.py
Line: 85

安装

使用pip

您可以使用pip安装pyloc,如下所示:

$ pip install pyloc

$ pip3 install pyloc

直接从源头

$ git clone https://github.com/nicolasdespres/pyloc.git
$ cd pyloc
$ python setup.py develop
# If you also want it for Python 3
$ python3 setup.py develop

注意,如果还安装了python 3版本,则pyloc2 命令行驱动程序将不工作,但pyloc驱动程序将指向 到Python2安装。

要卸载它,您可以执行以下操作:

$ python setup.py develop --uninstall
# And if you installed the Python 3 version
$ python3 setup.py develop --uninstall

但是,这不会删除由easy生成的条目脚本 安装。

已知错误

  • 类或内置类型(如int或str)不包含位置 信息。在本例中,pyloc试图在 阿斯特。此过程可能不准确,因为python是动态的 语言。

黑客攻击

有关详细信息,请参见HACKING

发行说明

请参见相应的标记注释。克隆后,您可以执行以下操作:例如:

$ git show v0.1.10

许可证

pylocSimplified BSD License。 版权所有(C)2015-2106,Nicolas Despr_s 保留所有权利

如源代码中所述,一些部分是从 由Ka Ping Yee编写的^{TT14}$模块<;ping@lfw.org>;和 yury selivanov<;yselivanov@sprymix.com>;形成python 3.4.3 发行版(请参阅python发行版中的许可文件)

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

推荐PyPI第三方库


热门话题
java Apache Flink外部Jar   创建和强制转换对象数组时发生java错误   Java,添加数组   具有相同包结构和类的java JAR   java Jenkins未能构建Maven项目   java为什么一个forloop比另一个更快,尽管它们做的“一样”?   servlets在将“/”站点迁移到Java EE包时处理contextpath引用   无法解析java MavReplugin:2.21或其某个依赖项   泛型如何编写比较器来泛化Java中的两种类型的对象?   java Android Emulator未在netbeans上加载   多线程Java使用线程对数组中的数字求和:在同步块中使用新变量作为锁:差异   java如何在JSP/servlet中设置<input>标记的值?