为啥造轮子:开发或者学习 Python 时,我们可能经常需要查看某个函数或者某个类的文档。 举个例子,之前我自己在使用 requests 时,就经常会想去查看 requests.Session 的源码实现? 但这时候,有没有什么快捷的方法迅速看到源码呢?
之前我有几个办法:
- 去 Github 上面搜
- 将 requests 源码拷贝在本地
- 在 IDE/编辑器 中跳转到函数定义
- cd 到 site-packages 目录中去,然后使用编辑器打开
但这些办法都比较麻烦:今天偶然看到 jedi 的使用示例,于是撸了一个「快速跳转到 Python 函数、类、包 定义」的脚本。
https://github.com/cosven/rcfiles/blob/master/bin/mpy-goto-def
使用方法
- 请确保机器安装了 Python 3 (版本 >= 3.6 )
- 下载脚本
- 执行下面命令时,它会自动调用编辑器打开相应文件,并跳转到对应的行( Vim/Emacs 测试 OK )
./mpy-goto-def asyncio.wait
进阶使用 - 开启自动补全
- 将脚本加入 PATH
pip3 install argcompleteregister-python-argcomplete mpy-goto-def >> .bashrcsource .bashrc
开启自动补全后,我们在命令行输入 mpy-goto-def flask.Res 时
按 <tab>
会自动弹出 Response, Request 等候选项。</tab>
~ > mpy-goto-def flask.Re
flask.Redirect flask.Request_finished
flask.Render_template flask.Request_started
flask.Render_template_string flask.Request_tearing_down
flask.Request flask.Response
bonus
推荐一个工具:pydoc -> 命令行查看 Python 文档神器