【问题标题】:Writing elisp program for automatic introspection of Python Objects编写用于自动自省 Python 对象的 elisp 程序
【发布时间】:2015-05-03 08:59:03
【问题描述】:

我记得看到 PyCharm 和 RStudio 有一种方法可以显示当前交互式会话中的数据/模块/函数。

例如当您执行a = [1, 2, 3] 时,窗口的一小部分将提供有关对象a 的信息。

有什么方法可以让我们在 Emacs 中有类似的东西(也许利用 python inspect 模块)?

【问题讨论】:

  • 目前正在研究这个问题,想知道您是否找到了解决方案!谢谢

标签: python emacs elisp introspection


【解决方案1】:

我通常在编写 python 代码时在 emacs 中运行 python 交互式会话。打开源文件后,按C-c C-z,您可以在其中指定要使用的python 解释器。这会将窗口一分为二,左侧是源代码,右侧是输出/python shell。选择源文件后,您可以按C-c C-c 评估缓冲区并将其输出显示在右侧的窗口中。在评估您的代码后,您可以使用C-x o 切换到shell,在shell 中您可以使用dir() 列出所有变量、模块、函数等。就好像您在交互式 python shell 中完成了 while 操作一样。

在您的情况下,您可以在右侧的 shell 中运行 dir(a)type(a)

【讨论】:

  • 我知道这一切。你似乎不明白我的问题。重点是不必手动检查对象,而是让 Emacs 能够显示工作区中的内容。
  • 如果是这种情况,那么您实际需要的是帮助编写一个 elisp 程序,该程序打开一个 python 交互式会话并代表您进行 eval 调用以扫描和解析我上面提到的那些相同的调用。您可能需要编辑您的问题以反映这一点。
猜你喜欢
  • 1970-01-01
  • 2013-10-12
  • 1970-01-01
  • 1970-01-01
  • 2016-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多