перебирать строку и распечатывать результаты в одной строке

#python #python-3.x

#python #python-3.x

Вопрос:

Я пытаюсь написать программу на Python, которая выводит одну строку цепочки команд, которую я могу скопировать в оболочку Linux для выполнения.

Я хочу, чтобы формат выглядел следующим образом:

Command1; Command2; Command3; Command4; и т.д….

Вот мой Python:

 data = dict(
    Food_Title=foodFileTitle,
    Local_Store_Directory='/mnt/store/1/',
    Local_Unique_Directory='current/')

commands = """
    mkdir -p {Local_Store_Directory}{Local_Unique_Directory}{Food_Title};
    """

# loop through commands and execute
for command in commands.splitlines():
    command = command.format(**data)  # populate command
    # os.system(command) # execute command
    print(command)
  

Проблема в том, что это выглядит так:

     mkdir -p /mnt/store/1/current/ab45re;

    mkdir -p /mnt/store/1/current/hf22;

    mkdir -p /mnt/store/1/current/bi334;
  

Есть ли способ сделать так, чтобы это выглядело так?

     mkdir -p /mnt/store/1/current/ab45re; mkdir -p /mnt/store/1/current/hf22; mkdir -p /mnt/store/1/current/bi334;
  

Спасибо за любую помощь!

Ответ №1:

Измените end значение print() . Например:

 print(command, end=' ') # Can use ';' here if you want
  

Если в вашей command переменной есть символы новой строки ( 'n' ), вы захотите сначала заменить их, попробуйте:

 print(command.replace('n', ''), end=' ')