Python: YAML Dosyaları ile Çalışmak

YAML dil bağımsız bir veri değişim formatıdır. Herhangi bir programlama dili ile oluşturulan nesneler, YAML formatında kolaylıkla temsil edilebilmektedir. Konfigürasyon dosyaları için ve verilerin depolandığı veya iletildiği uygulamalarda yaygın olarak kullanılmaktadır.

Yaml Dosyası Okuma

--- # Application configuration - config.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: postgres-config
  labels:
    app: postgres
data:
  POSTGRES_DB: postgresdb
  POSTGRES_USER: postgresadmin
  POSTGRES_PASSWORD: admin123

#!/usr/bin/python3

import yaml

with open('config.yaml') as file:
    try:
        databaseConfig = yaml.safe_load(file)
        print(databaseConfig)
    except yaml.YAMLError as exc:
        print(exc)

Yaml Dosyası Okuma 2 (Key: Value)

--- # input.yaml
gunler:
  - pazartesi
  - sali
  - carsamba
  - persembe
  - cuma
  - cumartesi
  - pazar
aylar:
  - ocak
  - subat
  - mart
  - nisan
  - mayis
  - haziran
  - temmuz
  - agustos
  - eylul
  - ekim
  - kasim
  - aralik
#!/usr/bin/python3

import yaml

with open('input.yaml') as file:
    try:
        data = yaml.safe_load(file)
        for key, value in data.items():
            print(key, ":", value)
    except yaml.YAMLError as exception:
        print(exception)

Yaml Dosyasına Yazma

#!/usr/bin/python3

import yaml

days = [{'haftaici' : ['pazartesi', 'sali', 'carsamba', 'persembe', 'cuma']},
        {'haftasonu': ['cumartesi', 'pazar']}]

with open(r'output.yaml', 'w') as file:
    outputs = yaml.dump(days, file)

Output.yaml
- haftaici:
  - pazartesi
  - sali
  - carsamba
  - persembe
  - cuma
- haftasonu:
  - cumartesi
  - pazar