Как прочитать несколько строк в шаблоне и подставить значения? - PullRequest
0 голосов
/ 10 октября 2019

У меня есть фрагмент стандартного текста, состоящий из нескольких строк и некоторого формата, как показано ниже:

owner: oracle
date_conditions: 1
    timezone: US/Eastern
    std_out_file: "/app/local/job.log"
    machine: rachost

Я хочу использовать этот текст выше с машинным и часовым поясом, которые меняются по необходимости. Как я могу использовать python для определения этого шаблона и замены различных значений? Я наткнулся на вариант замены в string.Template. Но, похоже, это работает только с одной строкой.

1 Ответ

0 голосов
/ 10 октября 2019

Класс string.Template может обрабатывать строки, состоящие из нескольких строк.

Например:

from string import Template

template = Template('''\
owner: oracle
date_conditions: 1
    timezone: $tz
    std_out_file: "/app/local/job.log"
    machine: $mach
''')

result = template.substitute(tz='US/Pacific', mach='foobar')
print(result, end='')

Отпечатки:

owner: oracle
date_conditions: 1
    timezone: US/Pacific
    std_out_file: "/app/local/job.log"
    machine: foobar
...