我在python中打印标题,我希望它在屏幕的中心。 我知道我可以使用
来做到这一点"{:^50}".format("Title")
但是这个命令的用处是它只使用我给出的宽度(在这种情况下,50)。但它并不完美,有时会偏离。即使我通过观察/猜测来近似宽度,如果我重新调整终端的大小,它也会超出格式。我总是希望将它对齐在屏幕中间,即使终端重新调整大小(例如,在全屏模式下)。我能以任何方式实现这一目标吗?
修改 我这样做了: 好吧,我找到了找到窗口大小的方法,
import os
columns = os.popen('stty size', 'r').read().split()[0]
"{:^"+columns+"}".format("Title")
但最后一行显示错误。我终于有窗口大小,但我无法正确格式化。任何帮助表示赞赏!
答案 0 :(得分:1)
正如zondo指出的那样,当调整窗口大小时,标题不会重新定位。
正确的方法:"{:^"+columns+"}".format("Title")
就是这样:
"{:^{}}".format("Title", width)
#^---------------^ first argument goes with first brace
# ^--------------------^ second argument goes with second brace and sets the width