如何在python中为所有print()输出设置前缀?

2024-04-27 02:24:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用python打印到控制台。我正在寻找一段一次性的代码,以便所有打印语句后一行代码有4个空格开始。例如

print('Computer: Hello world')
print.setStart('    ')
print('receiving...')
print('received!')
print.setStart('')
print('World: Hi!')

输出:

^{pr2}$

这将有助于切换函数中包含的所有输出,以及设置函数输出何时被制表符。这可能吗?在


Tags: 函数代码helloworld语句hi制表符computer
2条回答

为什么不定义自己的自定义函数,并在需要时使用它:

def tprint(*args):
    print('    ', *args)

它的用法如下:

^{pr2}$

输出:

Computer: Hello world
     receiving...
     received!
World: Hi!

您可以定义一个print函数,该函数首先打印前缀,然后在内部调用内置的print函数。您甚至可以使用自定义的print()函数来查看调用堆栈,并相应地确定用作前缀的空格数:

import builtins
import traceback

def print(*objs, **kwargs):
    my_prefix = len(traceback.format_stack())*" "
    builtins.print(my_prefix, *objs, **kwargs)

测试一下:

^{pr2}$

输出:

                    Printing from func_f
                     Printing from func_g

{返回函数

当您完成自定义打印并希望开始使用内置的print()函数时,只需使用del来“删除”您自己的打印定义:

del print

相关问题 更多 >