1

我有一个带有以下参数列表的函数:

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

不幸的是,该模块的 pydoc 帮助文本显示如下:

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

如何让 pydoc 给出文件参数file=sys.stdout而不是显示对象的血腥细节?

顺便说一句,Python 3.2。

4

1 回答 1

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

(但请考虑不要使用printandfile作为标识符。print尤其是会永远破坏 Python 2 的兼容性。)

于 2011-09-14T11:26:16.113 回答