Подтвердить что ты не робот

Python - Как я могу поместить строку с пробелами справа и слева?

У меня есть два сценария, где мне нужно заполнить строку пробелами до определенной длины, как в левом, так и в правом направлениях (в отдельных случаях). Например, у меня есть строка:

TEST

но мне нужно сделать строковую переменную

_____TEST1

так что фактическая строковая переменная имеет длину 10 символов (в данном случае это 5 пробелов). ПРИМЕЧАНИЕ. Я показываю символы подчеркивания для представления пробелов (уценка не выглядит корректно на SO в противном случае).

Мне также нужно выяснить, как отменить его и проложить пробел с другого направления:

TEST2_____

Есть ли какие-либо вспомогательные функции для этого? Или мне нужно создать массив символов, чтобы управлять им?

Также обратите внимание, что я пытаюсь сохранить длину строки переменной (я использовал длину 10 в приведенных выше примерах, но мне нужно будет это изменить).

Любая помощь будет потрясающей. Если есть какие-либо функции python для управления этим, я бы предпочел не писать что-то с нуля.

Спасибо!

4b9b3361

Ответ 1

Вы можете посмотреть str.ljust и str.rjust Я верю.

Альтернативой, вероятно, является метод format:

>>> '{:<30}'.format('left aligned')
'left aligned                  '
>>> '{:>30}'.format('right aligned')
'                 right aligned'
>>> '{:^30}'.format('centered')
'           centered           '
>>> '{:*^30}'.format('centered')  # use '*' as a fill char
'***********centered***********'

Ответ 2

Использование строки Python3

l = "left aligned"
print(f"{l.ljust(30)}")

r = "right aligned"
print(f"{r.rjust(30)}")

c = "center aligned"
print(f"{c.center(30)}")

>>> l = "left aligned"
>>> print(f"{l.ljust(30)}")
left aligned                  

>>> r = "right aligned"
>>> print(f"{r.rjust(30)}")
                 right aligned

>>> print(f"{c.center(30)}")
        center aligned