質問

私は疑問に思い、特別な非表示にする方法

__.*__ 
Pythonで

方法*?特に、私はタブ補完との対話的なPythonインタプリタを使用しています、と私は私のモジュールが公開するメソッドだけを表示したいと思います...

おかげで、

/ myyn /

*(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.
役に立ちましたか?

解決

さて、あなたは、オーバーライドを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-タブ補完-質問p22905952.html

他のヒント

私はあなたがTabキーを押すと「プライベート」メソッドの表示を停止するために、特定の環境/インタプリタを得るための方法を探す必要だと思います。私は非常に奇妙なことでしょうパイソン自体からメソッドを、「非表示」にする方法はないと思います。

私はipythonに見てみましょう。たぶん、あなたは、あなたのアプリにサブプロセスなしipythonsにインタラクティブシェルをフックし、そこからプライベートメソッドのフィルタリングを適用することができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top