Python pydoc生成的带有文件句柄参数的帮助文本
我有一个具有以下参数列表的函数:Python pydoc生成的带有文件句柄参数的帮助文本,python,Python,我有一个具有以下参数列表的函数: 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')
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')
函数
打印(*行,sep='',end='\n',file=,default='full')
如何让pydoc将file参数设置为file=sys.stdout
,而不是显示对象的血淋淋的细节
顺便说一句,Python 3.2。简易解决方案:
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
(但请考虑不要使用<代码>打印< /COD>和<代码>文件<代码>作为标识符。<代码>打印< /COD> ESP将永远破坏Python 2兼容性。
< P>易解: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
(但请考虑不要使用<代码>打印< /COD>和<代码>文件<代码>作为标识符。<代码>打印< /代码> ESP将永远破坏Python 2兼容性。仅仅为了获得可读的帮助文本而不得不更改代码,这看起来确实很痛苦。我查看了pydoc模块,发现它是如何获取函数信息的,我看不到简单的解决方法(除了修改代码)。顺便说一句,这个项目只是Python3。谢谢你的建议,但我不关心向后兼容性。这只是代码的一小部分,其余部分无论如何都不可能在Py2上工作。谢谢。仅仅为了获得可读的帮助文本而不得不更改代码,这看起来确实很痛苦。我查看了pydoc模块,发现它是如何获取函数信息的,我看不到简单的解决方法(除了修改代码)。顺便说一句,这个项目只是Python3。谢谢你的建议,但我不关心向后兼容性。这只是代码的一小部分,其余部分无论如何都不可能在Py2上工作。