Rehber Python'da INI dosya işlemleri

Herkese merhaba. Bugün sizlere Python dilinde nasıl *.ini dosyalarından veri çekeceğinizi ve nerelerde kullanabileceğinizi anlatacağım. Dilerseniz başlayalım.

Öncelikle nedir bu? İni dosyaları? Bu dosyalar içerisinde genellikle değişken tuttuğumuz ve bu değişkenlerin program içerisinde değişmesi durumunda yeni halinin saklanması ve gerektiğinde dosyadan çekilmesi için kullanılır. Örneğin yazdığınız programda çeşitli ayarlar mevcut (yazı tipi gibi) diyelim. Bu ayarları kullanıcının değiştirebilmesini istiyorsunuz ve bu değişim sonucunda oluşan yeni ayarları saklamanız gerekiyor (malum program kapandığında uygulama içerisindeki değişken sizin atadığınız değeri kullanacak). Bu tarz durumlarda değişkenleri .ini dosyaları gibi çeşitli dosyalarda tutuyoruz ve uygulama her açıldığında bu ayarları çekip kullanıcının istediği deneyimi yaşamasını sağlayabiliyoruz. Peki bunu nasıl yapıyoruz? Bunu anlamak için ilk başta bir ini dosyasına bakmak gerek. Bizim örnek dosyamız ise:

[CODE title="settings.ini"][AYARLAR]
YaziTipi=Consolas

[METINLER]
lblMetin1=Merhaba
[/CODE]

Yukarıya baktığınızda köşeli parantezler ile yazılmış iki ayrı section yani bölüm görüyorsunuz. Öncelikle bölümlendirme oldukça önemli ve hangi değişkeni hangi bölüme yazdığınızı unutmayın çünkü önce bölümlere erişilir ardından ise bölümler içerisindeki verilere (sadece sectionlara ulaşmak için: degisken.sections() kodunu kullanabilirsiniz. Bu kod size liste olarak değer döndürecektir). Ayrıca oldukça fazla ayar veya değişken bulunduran yazılımlarda bölümlere ayırarak daha rahat çalışabilirsiniz. Şunu da lütfen unutmayın en az 1 bölüm oluşturulmalıdır. Sonrasında ise istediğiniz değişkenleri tanımlamanız gerekiyor. Yukarıda tanımlandığı gibi tek eşittir ile tanımlanmalıdır.

Şimdi ise bu dosyadan verileri çekmeye başlayalım. Bunu yapmak için configparser isimli modülü import etmemiz yani yazılıma entegre etmemiz gerekiyor. Ardından ise verileri çekeceğimiz dosyayı ve nasıl encode edeceğini belirtmeliyiz. Bunun için:

[CODE lang="python" title="configparser'i import etmek ve ini dosyasını açmak"]import configparser.

veriler = configparser.ConfigParser()

veriler.read("settings.ini",encoding="utf-8")

[/CODE]

Yukarıdaki kod ile ini dosyamızı açtık. Burada önemli olan bir konu da encoding kısmıdır çünkü utf-8 formatında açmasını da belirtmemiz daha iyi. Sebebi utf-8 formatında Türkçe karakter desteği bulunmaktadır. Eğer utf-8 formatında encode etmezseniz Türkçe karakterler yerine garip şekiller görebilirsiniz. Peki ne yaptık burada diye sorarsanız veriler isimli bir değişken tanımladık ve bu değişkene configparser sınıfı özelliklerini de kalıtım ile aktarmış olduk. Şimdi ise verileri çekme işlemi ile başlayalım. Bunun için get() komutunu kullanmamız gerekiyor.

[CODE lang="python" title="Verileri Çekme İşlemi"]YaziTipi = veriler.get('AYARLAR','YaziTipi')
metin1 = veriler.get('METINLER','lblMetin1')
[/CODE]

Bu kodları açıklayacak olursak eğer öncelikle YaziTipi isimli bir değişken oluşturduk ve bu değişkene ini dosyasında bulunun AYARLAR isimli section içindeki Yazitipi'nin değerini aldık. Şunu da unutmayın lütfen. Çekilen değerler her zaman string olarak çekilir. Bu bilgi ışında devam edelim. İkinci satıda ise metin1 isimli bir değişken oluşturduk ve bu değişkene yine yukarıda açtığımız ini dosyasında bulunan METINLER isimli section içinde bulunan lblmetin1'in değerini atadık. İşte verileri çekmek bu kadar basit. Bu değişkenleri artık istediğiniz gibi kullanabilirsiniz.
 
Son düzenleme:

Geri
Yukarı