mik*_*iku 5 python facade hide magic-methods
我只是想知道,如何隐藏特殊
__.*__
Run Code Online (Sandbox Code Playgroud)
python*中的方法?特别是我正在使用带tab-completion的交互式python解释器,我想只显示我的模块公开的方法...
谢谢,
/ myyn /
*(至少来自使用python shell的用户)
现在看起来像这样:
h[2] >>> Q.
Q.ALL( Q.__delattr__( Q.__getattribute__(
Q.__package__ Q.__sizeof__( Q.find_values(
Q.json
Q.DEFAULT_CONDITION( Q.__dict__ Q.__hash__(
Q.__reduce__( Q.__str__( Q.get_loops_total_platform(
Q.jsonlib
Q.SUCCESSFUL( Q.__doc__ Q.__init__(
Q.__reduce_ex__( Q.__subclasshook__( Q.get_platforms(
Q.memoize(
Q.__all__ Q.__file__ Q.__name__
Q.__repr__( Q.cached_open( Q.get_snippets(
Q.__class__( Q.__format__( Q.__new__(
Q.__setattr__( Q.find_results( Q.get_subjects(
h[2] >>> Q.
Run Code Online (Sandbox Code Playgroud)
我希望它看起来像:
h[2] >>> Q.
Q.ALL( Q.find_values( Q.json
Q.DEFAULT_CONDITION( Q.get_loops_total_platform(
Q.jsonlib Q.SUCCESSFUL( Q.get_platforms(
Q.memoize( Q.cached_open( Q.get_snippets(
Q.find_results( Q.get_subjects(
h[2] >>> Q.
Run Code Online (Sandbox Code Playgroud)
那么,您可以创建 的子类rlcompleter.Completer,覆盖有问题的方法,并将其安装到readline.
import rlcompleter
import readline
class MyCompleter(rlcompleter.Completer):
def global_matches(self, text):
....
def attr_matches(self, text):
....
import readline
readline.set_completer(MyCompleter().complete)
Run Code Online (Sandbox Code Playgroud)
这些代码片段允许不区分大小写的制表符完成:
http://www.nabble.com/Re%3A-Tab-completion-question-p22905952.html
| 归档时间: |
|
| 查看次数: |
1006 次 |
| 最近记录: |