Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.python > #5694
| From | robert rottermann <robert@redcor.ch> |
|---|---|
| Newsgroups | de.comp.lang.python |
| Subject | Re: [Python-de] yaml config mit python editieren |
| Date | 2020-10-10 13:47 +0200 |
| Message-ID | <mailman.1291.1602330461.9580.python-de@python.org> (permalink) |
| References | <09de33f7-e3b5-26b6-90d3-8e9c9b7788be@fuhrmann.homedns.org> <8221f608-2a51-2594-e12a-1cdb0332b8ea@redcor.ch> |
StephanOn 10.10.20 09:39, Stefan Fuhrmann wrote:
> Hallo zusammen,
>
> ich habe eine docker-compose.yml und möchte diese editieren, was mir nicht
> gelingt.
beliegend zwei Dateien:
config.yaml:
das is ein Template, das zu Generieren einer yaml-Datei die aus einem
Template-Ordner gelesen wird.
construct_default.py:
ersetzt die "Platzhalter" und schreibt die yaml Datei.
Ich mache da alles sehr "händisch". Geht wohl eleganter, funktioniert aber bestens.
Gruss
Robert
>
> #!/usr/bin/python3
> 2
> 3 import subprocess
> 4 import shutil
> 5 import os
> 6 import docker
> 7 #client = docker.DockerClient(base_url="unix://var/run/docker.sock",
> version='auto')
> 8 client = docker.from_env()
> 9 import sys
> 10 import yaml
> 11print(sys.version)
> 12
> 1
> 21
> 22
> 23 with open('docker-compose.yml', "r") as f:
>
> 24 # The FullLoader parameter handles the conversion from YAML
> 25 # scalar values to Python the dictionary format26 # docker_compose
> = yaml.load(file, Loader=yaml.FullLoader)
>
> 27 docker_compose = yaml.full_load(f)
>
> 28 # docker_compose = yaml.load(f, Loader=yaml.FullLoader)
> 29 # docker_compose['MYSQL_ROOT_PASSWORD'] = "test"
> 30 #docker_compose["services"]["db"]["environment"]['MYSQL_ROOT_PASSWORD'] =
> docker_compose.update("{{{pass}}}", "passing")
> 31
> 32 #docker_compose.update("{{{pass}}}", "Passing")
> 33
> 34 # txt = "pass"
> 35 # x = txt.replace("pass", "apples")
> 36 docker_compose["services"]["db"]["environment"] =
> docker_compose.update("pass", "apples")
> 37
> 38 # print(docker_compose)
> 39 # docker_compose = docker_compose.replace("{{{pass}}}", "passingpass")
> 40
> 41
> 42 with open('docker-compose.yml', "w") as f:
> 43 yaml.dump(docker_compose, f)
>
> in der docker-compose habe ich bei MYSQL_ROOT_PASSWORD=pass eingetragen, weil
> ich dachte, wenn ich da was einfaches stehen habe, kann ich es ersetzen.
>
> Das funktioniert so leider nicht. Jetzt wird bis "environment" in der yaml
> alles weggeschnitten.
>
>
> Wie kann ich eine docker-compose.yml mit python editieren?
>
> Kann jemand helfen?
>
>
> Danke!
>
> Gruß
>
> Stefan
>
>
> _______________________________________________
> python-de maillist - python-de@python.org
> https://mail.python.org/mailman/listinfo/python-de
Back to de.comp.lang.python | Previous | Next | Find similar
Re: [Python-de] yaml config mit python editieren robert rottermann <robert@redcor.ch> - 2020-10-10 13:47 +0200
csiph-web