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