#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=' ')