【问题标题】:how to indent the following prints如何缩进以下打印件
【发布时间】:2022-02-01 21:11:13
【问题描述】:

假设我有其他人的功能,它执行以下操作:

def print_numbers(N):
    for i in range(N):
        print(i,'- something something')

现在不改变函数我想从外部调用它,这样它就会以初始缩进方式打印(为了简单起见,我们可以说\t):

Here are some random numbers:
     0 - something something
     1 - something something
     2 - something something
     3 - something something
     4 - something something

我尝试过这样的事情:

print('Here are some random numbers:')
with textwrap.set_indent('\t'):
    print_numbers(5)

但是我找不到这样的方法.. 有可能吗?

【问题讨论】:

    标签: python text word-wrap


    【解决方案1】:

    你可以这样做:

    def print_numbers(N):
        for i in range(N):
            print(i,'- something something')
    
    def special_print(*args):
        pf('\t', *args)
    
    pf = print # save reference to original built-in
    print = special_print # override
    print_numbers(5)
    print = pf # reset built-in
    

    【讨论】:

      猜你喜欢
      • 2021-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多