I am creating a simple console-based Python (version 2.4) script that will be run on a Bash shell. It is a simple menu-based script that displays a set of options to the user and will do specific tasks depending on the user input.
When the script starts, I want it to clear the screen and display the menu in the center of the screen. I can get the console width from stty size
. How do I go about center-aligning the text?
You can use str.center
s = "hello world"
s.center(40)
>>> ' hello world '
If you are using python version 3.6
(as I love to use it instead of 2.7
) you can use the caret
character in the format
function:
>>> '{:^50}'.format('sample text')
' sample text ' # with a length of 50.
If you want to fill the gap you use:
>>> '{:*^50}'.format('sample text')
'*******************sample text********************' # * is the fill character.