在Python中控制台上的中心对齐文本

时间:2012-01-18 08:35:49

标签: python shell text console

我正在创建一个简单的基于控制台的Python(版本2.4)脚本,该脚本将在Bash shell上运行。它是一个简单的基于菜单的脚本,向用户显示一组选项,并根据用户输入执行特定任务。

当脚本启动时,我希望它清除屏幕并在屏幕中央显示菜单。我可以从stty size获得控制台宽度。我如何进行中心对齐文本?

3 个答案:

答案 0 :(得分:5)

您可以使用str.center

s = "hello world"
s.center(40)
>>> '              hello world               '

答案 1 :(得分:5)

如果您使用的是python版3.6(因为我喜欢使用它而不是2.7),您可以使用caret函数中的format字符:

>>> '{:^50}'.format('sample text')
'                   sample text                    '     # with a length of 50.

如果你想填补你使用的空白:

>>> '{:*^50}'.format('sample text')
'*******************sample text********************'     # * is the fill character.

答案 2 :(得分:0)

import shutil

def print_centre(s):
    print(s.center(shutil.get_terminal_size().columns))