重载打印python

我可以重载该print函数并从内部调用普通函数吗?我想做的是在我要print呼叫的特定行之后print,它将呼叫普通行print并将副本写入文件。


我也不知道如何超载print。我不知道如何做变长参数。我会尽快查找,但是 重载print python告诉我我不能print在2.x中重载,这是我正在使用的。


蓝山帝景
浏览 1028回答 3
3回答

Smart猫小萌

对于那些回顾了先前的答案的人,从版本“ Python 2.6”开始,对于原始张贴者的问题有了新的答案。在Python 2.6及更高版本中,您可以禁用print语句,而使用print函数,然后使用自己的print函数覆盖print函数:from __future__ import print_function# This must be the first statement before other statements.# You may only put a quoted or triple quoted string, # Python comments, other future statements, or blank lines before the __future__ line.try:    import __builtin__except ImportError:    # Python 3    import builtins as __builtin__def print(*args, **kwargs):    """My custom print() function."""    # Adding new arguments to the print function signature     # is probably a bad idea.    # Instead consider testing if custom argument keywords    # are present in kwargs    __builtin__.print('My overridden print() function!')    return __builtin__.print(*args, **kwargs)当然,您现在需要考虑此打印功能仅在模块范围内。您可以选择覆盖__builtin__.print,但是您需要保存原始文件__builtin__.print; 可能与__builtin__名称空间混为一谈。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python