5

スペシャルを非表示にする方法を考えました

__.*__ 

python* のメソッド? 特に、タブ補完を備えたインタラクティブな python インタープリターを使用しており、モジュールが公開しているメソッドのみを表示したいと考えています...

ありがとう、

/ ミン /

*(少なくとも Python シェルを使用しているユーザーから)


現在は次のようになっています。

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.

そして、私はそれが次のように見えることを望みます:

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.
4

3 に答える 3

3

TABを押したときに、その特定の環境/インタープリターが「プライベート」メソッドの表示を停止する方法を探す必要があると思います。Python自体からメソッドを「隠す」方法はないと思いますが、それは非常に奇妙です。

于 2009-04-23T13:49:04.863 に答える
3

のサブクラスを作成し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) 

これらのコード スニペットでは、大文字と小文字を区別しないタブ補完が可能です。

http://www.nabble.com/Re%3A-Tab-completion-question-p22905952.html

于 2009-04-23T17:06:45.220 に答える
1

私はipythonを調べます。おそらく、サブプロセスなしで ipythons インタラクティブ シェルをアプリにフックし、そこからプライベート メソッド フィルタリングを適用することができます。

于 2009-04-23T15:21:24.957 に答える