2011-09-14 14 views
1

ファイルハンドルパラメータでヘルプテキストを生成:どのようにpydocは、私は、次のパラメータリストを持つ関数を持っている

FUNCTIONS 
print(*line, sep=' ', end='\n', file=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='cp850'>, default='full') 

def print(*line, sep=' ', end='\n', file=sys.stdout, default = 'full'): 

残念ながらモジュールのpydocのヘルプテキストはこのようにそれを示していますpydocをオブジェクトの酷評を表示するのではなく、file=sys.stdoutというファイル引数にすることはできますか?

経由でのPython 3.2、。

答えて

1

簡単な解決策:

def print(*line, sep=' ', end='\n', file=None, default = 'full'): 
    '''If file is None, defaults to sys.stdout.''' 

    if file is None: 
     file = sys.stdout 

(しかし、識別子としてprintfileを使用していないご検討くださいprint ESP永遠のPython 2互換性を中断します。。。)

+0

、おかげで動作します。読みやすいヘルプテキストを得るためにコードを変更しなければならないのはむしろ痛いようです。私はpydocモジュールを見て、関数の情報をどのように取得しているのかを確認しました。私のコードを変更する以外は簡単な方法はありません。ところで、プロジェクトはPython 3のみです。アドバイスをいただきありがとうございますが、私は下位互換性について心配していません。これはコードのほんの一部ですが、残念ながらPy2ではこれまでどおり動作しません。 – cdarke

関連する問題