【问题标题】:tab complete dictionary keys in ipythonipython中的制表符完整字典键
【发布时间】:2013-08-01 05:42:51
【问题描述】:

我想知道是否有人知道如何在 IPython 中为字典键启用或实现制表符补全?看起来它与已经存在的功能并没有太大的不同,比如对象属性的制表符完成。如果我错了,那么我想了解原因

【问题讨论】:

  • 澄清一下:你的意思是如果d = {"apple": 1, "banana":2},那么如果你输入d["a"]并将光标放在a之后,你会想要apple被填写?跨度>
  • @DavidRobinson 我想我会绑定d["a 并点击标签,它会完成到d["apple"]
  • 感谢指点这件事。在bugs.launchpad.net/python-mode/+bug/1251690 对此进行了报告

标签: python dictionary ipython tab-completion


【解决方案1】:

它没有内置在 IPython 2.x 中。如果你想添加它,看看这个,有人破解了一个解决方案:

https://github.com/ipython/ipython/issues/1533

此外,还有许多简单的方法可以从字典创建对象,以获得通常的制表符补全。如果这对您有帮助,请使用此问题中描述的方法之一:

Convert Python dict to object?

【讨论】:

  • 不再正确,看我的回答。
【解决方案2】:

感谢this patch,IPython 从 3.0.0 版开始支持字符串键的 dict 键补全(尽管没有出现在发行说明中)。它还支持 numpy 结构数组和 pandas DataFrame 列的列名完成,以及通过定义 _ipython_key_completions_ 重新定义 __getitem__ 的其他类型。

【讨论】:

  • 太好了,这是为您自己的 subscriptable 类实现补全的好方法。
猜你喜欢
  • 2015-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-02
  • 1970-01-01
  • 2010-10-26
  • 2022-11-17
  • 2014-01-10
相关资源
最近更新 更多