我已经看到了一个关于证明“打印”权利的问题,但是我可以在同一行上左右同时显示文本 - 对于--help?在终端看起来像这样:
| |
|Left Right|
| |
答案 0 :(得分:4)
我认为您可以使用sys.stdout
:
import sys
def stdout(message):
sys.stdout.write(message)
sys.stdout.write('\b' * len(message)) # \b: non-deleting backspace
def demo():
stdout('Right'.rjust(50))
stdout('Left')
sys.stdout.flush()
print()
demo()
您可以使用确切的控制台宽度替换50
,您可以从https://stackoverflow.com/a/943921/711085获取
答案 1 :(得分:3)
这是一个非常简单的方法:
>>> left, right = 'Left', 'Right'
>>> print '|{}{}{}|'.format(left, ' '*(50-len(left+right)), right)
|Left Right|
作为一项功能:
def lr_justify(left, right, width):
return '{}{}{}'.format(left, ' '*(width-len(left+right)), right)
>>> lr_justify('Left', '', 50)
'Left '
>>> lr_justify('', 'Right', 50)
' Right'
>>> lr_justify('Left', 'Right', 50)
'Left Right'
>>> lr_justify('', '', 50)
' '