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