如何在屏幕中间打印?

Eul*_*ler 5 python

例如,

print "hello world"
Run Code Online (Sandbox Code Playgroud)

在屏幕中间而不是开始?示例输出如下:

                                   hello world
Run Code Online (Sandbox Code Playgroud)

Ry-*_*Ry- 8

Python 3提供shutil.get_terminal_size(),您可以使用str.center空格来居中:

import shutil

columns = shutil.get_terminal_size().columns
print("hello world".center(columns))
Run Code Online (Sandbox Code Playgroud)

如果您不使用Python 3,请os.get_terminal_size()改用.

正如@ br1ckb0t所提到的,这在Python 2中不方便.但是,我建议改用Python 3,而不是使用不太方便的方法.

  • @minitech据我所知,`os.get_terminal_size()`是Python 3.0+,而`shutil.get_terminal_size()`是3.3+,所以这在Python 2中不起作用 (3认同)

小智 2

与手动操作的方式相同:添加额外的空格。

如果您想真正了解有关显示器几何形状的信息,则必须向图书馆求助以获取此类信息。例如curses模块。

curses 模块提供了curses 库的接口,curses 库是便携式高级终端处理的事实上的标准。

  • 注意:curses 还允许光标定位;使用基于诅咒的方法不需要用空格填充。 (2认同)