Skip to main content

Configuration File Parsing

Kirish

Tizim va dastur konfiguratsiyasini avtomatlashtirishda JSON va YAML formatlari eng ko‘p ishlatiladi. Python’da bu fayllarni o‘qish, tahrirlash va yozish uchun maxsus kutubxonalar mavjud: json va PyYAML.


JSON faylini o‘qish va yozish

1. JSON faylini o‘qish

import json

with open('config.json') as f:
config = json.load(f)
print(config)
print("Host:", config.get('host'))
print("Port:", config.get('port'))

2. JSON fayliga yozish

import json

data = {'host': 'localhost', 'port': 8080, 'debug': True}
with open('config.json', 'w') as f:
json.dump(data, f, indent=4)

3. JSON faylini tahrirlash

import json

with open('config.json') as f:
config = json.load(f)

config['debug'] = False

with open('config.json', 'w') as f:
json.dump(config, f, indent=4)

YAML faylini o‘qish va yozish

1. PyYAML kutubxonasini o‘rnatish

pip install pyyaml

2. YAML faylini o‘qish

import yaml

with open('config.yaml') as f:
config = yaml.safe_load(f)
print(config)
print("Host:", config.get('host'))
print("Port:", config.get('port'))

3. YAML fayliga yozish

import yaml

data = {'host': 'localhost', 'port': 8080, 'debug': True}
with open('config.yaml', 'w') as f:
yaml.dump(data, f)

4. YAML faylini tahrirlash

import yaml

with open('config.yaml') as f:
config = yaml.safe_load(f)

config['debug'] = False

with open('config.yaml', 'w') as f:
yaml.dump(config, f)

Amaliy misollar

1. Konfiguratsiyadan parametrlarni o‘qib, ulardan foydalanish

import json

with open('config.json') as f:
config = json.load(f)

if config.get('debug'):
print("Debug rejimi yoqilgan!")
else:
print("Debug rejimi o‘chirilgan!")

2. YAML fayldan ro‘yxat va lug‘atlarni o‘qish

import yaml

with open('services.yaml') as f:
services = yaml.safe_load(f)

for service in services['apps']:
print(service['name'], service['port'])

services.yaml misoli:

apps:
- name: web
port: 80
- name: db
port: 5432

Xulosa

Python’da JSON va YAML konfiguratsiya fayllarini o‘qish, tahrirlash va yozish juda oson. Bu texnikalar yordamida tizim va dastur sozlamalarini avtomatlashtirish, monitoring va