在Python控制台中居中对齐文本

6 投票
3 回答
37488 浏览
提问于 2025-04-17 10:30

我正在创建一个简单的基于控制台的Python脚本(版本2.4),这个脚本会在Bash命令行中运行。它是一个简单的菜单脚本,会向用户显示一系列选项,并根据用户的输入执行特定的任务。

当脚本启动时,我希望它能清空屏幕,并把菜单显示在屏幕的中央。我可以通过stty size来获取控制台的宽度。那么,我该如何把文本居中显示呢?

3 个回答

5
import shutil

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

当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。

8

如果你在使用 Python 版本 3.6(我个人更喜欢用这个版本,而不是 2.7),你可以在 format 函数中使用 caret 符号:

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

如果你想填补空缺,可以使用:

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

你可以使用 str.center 这个方法。

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

撰写回答