RU.PYTHON---------------- < Пред. | След. > -- < @ > -- < Сообщ. > -- < Эхи > --
 Nп/п : 27 из 44
 От   : Denis Lyzhenko                      2:5055/73         13 сен 23 15:47:52
 К    : Maxim Gribanov                                        13 сен 23 16:17:03
 Тема : Подстановка значения переменной в вывод
----------------------------------------------------------------------------------
                                                                                 
@MSGID: 2:5055/73@fidonet 6501b5a1
@REPLY: 2:5061/133 64de7117
@PID: GED+BSD 1.1.5-b20160322-b20160322
@CHRS: CP866 2
@TZUTC: 0300
@TID: hpt/fbsd 1.9.0-cur 08-05-14

   Hello Maxim!

17 Aug 23 22:08, you wrote to all:

 MG> Подскажите как решить такую задачу? Есть программа на flask, в которую
 MG> передаю содержимое файла для отображения - cat /etc/xxxx.conf Внутри
 MG> файла текс, в котором упоминаются переменные вида ${имя_переменной} -
 MG> таких достаточно много.Значение самих переменных можно посмотреть echo
 MG> ${имя меременной} Как можно реализовать вывод текста конфига чтобы
 MG> подставлялись значения переменных вместо их названия. средствами
 MG> командной строки или скрипта bash/python например.

 MG> Смысл в том что есть python приложение в докере, в образе лежит
 MG> kubectl который вызываю из flask как subprocess и опрашиваю конфиг в
 MG> кластере k8s и значения самих переменных тоже можно получить в поде в
 MG> консоли через echo.

Если я тебя понял правильно (а это не факт) то:
 Зареплейсь имена переменных на нужные значения. Или объяви переменные
с нужными именами и значениями, используй формат, потом зареплейсь бакс.
Переменные окружения можно получить через os.getenv(), эху дергать необязательно:

=================test_env.txt:

username = ${USER}
path = ${PATH}

=================test_env.py:

import os


USER = os.getenv(`USER`)
PATH = os.getenv(`PATH`)


def main():
    with open(`test_env.txt`, `r`) as f:
        sample_string = f.read().format(USER=USER, PATH=PATH).replace(`$`, ``)
        print(sample_string)


if __name__ == `__main__`:
    main()

=================вывод:

username = denis
/home/denis/PycharmProjects/communigare_first/venv/bin:/usr/local/sbin:/usr/loca
l/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/loc al/games:/snap/bin


ЗЫ я не программист, ногами не пинайте.


Denis


--- Обломок Дзю 1.1.15-B20061116 B2 (BSD)
 * Origin: Last Day Station (2:5055/73)
SEEN-BY: 50/109 301/1 341/66 463/68 467/888 469/122
4500/1 5000/111 5001/100
SEEN-BY: 5005/49 5015/46 5019/40 5020/290 570 620
715 830 846 848 921 1042
SEEN-BY: 5020/4441 12000 5022/128 5023/24 5030/49
115 1081 5034/13 5054/8 89
SEEN-BY: 5055/73 5058/104 5061/133 5075/128 5080/102
5083/1 444 6056/1 6090/1
@PATH: 5055/73 5020/715 1042 4441



   GoldED+ VK   │                                                 │   09:55:30    
                                                                                
В этой области больше нет сообщений.

Остаться здесь
Перейти к списку сообщений
Перейти к списку эх