Как перенести строку в функции input, которая находится в цикле while, без отступов?

import sys

while True:
    Warning = input('Если вы хотите заархивировать файлы не находящиеся\
    в главном каталоге, \nвведите полные пути этих файлов как аргумент\
    для командной строки,\nчерез пробел, перед запуском программы. \
    \n\nПродолжить архивацию: -\nВыйти из программы: +\
    \nВведите команду: ')
    
    if Warning == str('+'):
        sys.exit
    elif Warning == str('-'):
        break

введите сюда описание изображения

Проблема в том, что после того как я ставлю \ и переношу строку, появляются очень большие пробелы между словами, как это решить?


Ответы (3 шт):

Автор решения: Zhihar

проблема вашего текста - при переносе текста на новую строку лишние пробелы в начале поставились, их можно удалить с помощью регулярного выражения

re.sub(' +', ' ', text)

т.е. заменить несколько пробелов в тексте на 1 пробел

import sys
import re

while True:
    Warning = input(re.sub(' +', ' ', 'Если вы хотите заархивировать файлы не находящиеся\
    в главном каталоге, \nвведите полные пути этих файлов как аргумент\
    для командной строки,\nчерез пробел, перед запуском программы. \
    \n\nПродолжить архивацию: -\nВыйти из программы: +\
    \nВведите команду: '))

    if Warning == str('+'):
        sys.exit
    elif Warning == str('-'):
        break

кроме того ничего плохого в переносе без отступов нет, правда не очень красиво, но код то работает, тогда и лишних пробелов не появляется

import sys

while True:
    Warning = input('Если вы хотите заархивировать файлы не находящиеся\
в главном каталоге, \nвведите полные пути этих файлов как аргумент\
для командной строки,\nчерез пробел, перед запуском программы. \
\n\nПродолжить архивацию: -\nВыйти из программы: +\
\nВведите команду: ')

    if Warning == str('+'):
        sys.exit
    elif Warning == str('-'):
        break
→ Ссылка
Автор решения: gil9red

Попробуйте так:

while True:
    Warning = input(
        'Если вы хотите заархивировать файлы не находящиеся'
        'в главном каталоге, \nвведите полные пути этих файлов как аргумент'
        'для командной строки,\nчерез пробел, перед запуском программы. '
        '\n\nПродолжить архивацию: -\nВыйти из программы: +'
        '\nВведите команду: '
    )
→ Ссылка
Автор решения: Алексей

Не переносите текст табуляцией.

import sys


while True:

    Warning = input("Если вы хотите заархивировать файлы не находящиеся\
в главном каталоге, \nвведите полные пути этих файлов как аргумент\
для командной строки,\nчерез пробел, перед запуском программы. \
\n\nПродолжить архивацию: -\nВыйти из программы: +\
    \nВведите команду: ")

    if Warning == str('+'):
        sys.exit
    elif Warning == str('-'):
        break
→ Ссылка