首页 > 解决方案 > python中的垂直居中对齐输出

问题描述

我知道如何在 python 中使用水平居中对齐输出print("{:^8}".format("Hello W")) 是否有某种方法可以水平和垂直居中对齐?我想在终端的正中心显示文本。

标签: python-3.xformat

解决方案


您可以使用shutil查询终端的尺寸。如果您有终端高度,您可以打印一半高度的换行符,然后打印您的行。例如:

import shutil

def print_line_vcentred(s):
    centre_line = int(shutil.get_terminal_size().lines/2)
    print('\n'*centre_line, s, '\n'*centre_line)

print_line_vcentred("test")

如果要打印垂直居中的多行,请减去一半的行数centre_line以偏移文本的开头。


推荐阅读