Python如何使用print实现控制台文本靠最右侧对齐打印
实现打印文本靠右对齐输出的方法
直接使用字符串内置的rjust()方法,将宽度参数设置为输出行的总宽度,就能实现文本贴最右侧输出的效果。
固定宽度实现
如果要复现你给出的示例效果(对应总输出宽度165列),代码如下:
print("This text is at the extreme right".rjust(165))
运行后文本会出现在整行的最右端,和你给出的示例效果完全一致。
自适应终端宽度实现
如果不想硬编码固定宽度,想要自动适配当前终端窗口的实际大小,可以调用标准库获取终端列数:
import os # 获取当前终端窗口的总列数 line_width = os.get_terminal_size().columns print("This text is at the extreme right".rjust(line_width))
补充说明
你之前用str.rjust(165//2)实现居中属于取巧写法:rjust(width)的原生逻辑是,当原字符串长度小于传入的width时,在字符串左侧填充空格,把整段内容的总长度凑到width,最终让原文本靠在整个内容块的最右侧。
Python字符串原生提供了三个对齐方法,覆盖所有对齐需求,不需要手动计算偏移量:
- 左对齐:
str.ljust(宽度),在字符串右侧补空格,文本靠左 - 居中对齐:
str.center(宽度),在字符串两侧均匀补空格,文本居中,比手动计算半宽的写法误差更小 - 右对齐:
str.rjust(宽度),在字符串左侧补空格,文本靠右
内容的提问来源于stack exchange,提问作者Kendrickcoder
相关产品推荐
相关产品推荐

