Python: String Formatter Align center
Question:
print('%24s' % "MyString") # prints right aligned
print('%-24s' % "MyString") # prints left aligned
How do I print it in the center? Is there a quick way to do this?
I don’t want the text to be in the center of my screen. I want it to be in the center of that 24 spaces. If I have to do it manually, what is the math behind adding the same no. of spaces before and after the text?
Answers:
You can use str.center()
method.
In your case, it will be: "MyString".center(24)
Use the new-style format
method instead of the old-style %
operator, which doesn’t have the centering functionality:
print('{:^24s}'.format("MyString"))
Ideally you would use .format().
Resource that explains center. along with others here
Python 3:
You can follow the below syntax:
stringName.center(width,fillChar)
In your example:
"MyString".center(24," ")
print('%24s' % "MyString") # prints right aligned
print('%-24s' % "MyString") # prints left aligned
How do I print it in the center? Is there a quick way to do this?
I don’t want the text to be in the center of my screen. I want it to be in the center of that 24 spaces. If I have to do it manually, what is the math behind adding the same no. of spaces before and after the text?
You can use str.center()
method.
In your case, it will be: "MyString".center(24)
Use the new-style format
method instead of the old-style %
operator, which doesn’t have the centering functionality:
print('{:^24s}'.format("MyString"))
Ideally you would use .format().
Resource that explains center. along with others here
Python 3:
You can follow the below syntax:
stringName.center(width,fillChar)
In your example:
"MyString".center(24," ")