İPUCU

Python Artificial Intelligence’da en çok kullanılan dildir ve gerekli dökümanların paylaşım alanlar burada paylaşılmaktadır.

Seçenekler

Python'da .ini dosyaları ile çalışmak[ConfigParser] //Easyly

BufGix - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
08/2015
Nereden:
Phobos/Space
Mesajlar:
1.023
Konular:
74
Teşekkür (Etti):
314
Teşekkür (Aldı):
446
Ticaret:
(0) %
09-06-2018 19:29
#1
Python'da .ini dosyaları ile çalışmak[ConfigParser] //Easyly
Merhabalar. Bugün Python'da .ini dosyalari ile veriler nasil elde edilir nasıl depolanır ona bakacağız.

'.ini' genelde Windows OS için yapılandırma dosyaları olsada yazdığınız programlarda ayar dosyaları olarak rahatlıkla kullanılabilir.





Neden .ini dosyaları ile çalışayım? Cünkü;
* Büyuk bir program yazdığınızı düşünün. Bu programda kullandığınız çokça değişken var. Bazı değişkenler programin işleyişi için çok önemi olabilir. Örnek üzerinden gidecek olursak;
Toplu E-Mail atan bir program geliştiriyorsunuz diyelim. E-Mail göndereceğiniz yüzlerce SMTP Server olacaktir. Hepsini kaynak koda yazmak biraz mantıksiz olabilir. Işte burada .ini dosyalari işinize yarayabilir.


Genel bir '.ini' dosyasının içeriği aşağidaki gibidir:



'[]' isareti ile belirtilen yerler 'Section' olarak adlandırılır.

Python'da '.ini' dosyalarını parse etmek için ConfigParser modülü kullanılır.

Kod:
from configparser import SafeConfigParser

config = SafeConfigParser()

config.read("./config.ini")  ## ayar dosyamizi okuduk

Hadi simdi elimizdeki config ile neler yapabiliriz bakalım.

Kod:
[...]

config.sections()

#Out:
#['user1','user2']
'.ini' dosyasindan veri getirmek için .get() kullanılır. Her zaman 'String' tipinde deger dondurur.
Kod:
[...]

name = config.get('user1', 'name')
age = config.get('user1', 'age')

print(name)
print(age)

#Out:
# Omer Faruk
# 18
Simdi bütün dosyayı okuyalım:
Kod:
[...]

for section in config.sections():
    print('[Secilen: {}]'.format(section))
    
    for option, value in config.items(section):
        print('{} = {}'.format(option, value)

#Out:
# [Secilen: user1]
# name = Omer Faruk
# age = 18
# mainlang = Python
# [Secilen: user2]
# name = Burak
# age = 18
# mainlang = Java

ConfigParser bize istediğimiz veri tipinde de sonuc verebilir(Eger uygunsa)

Kod:
[...]

print(type(config.getint('user1', 'age')))

#Out:
# <type 'int'>



Simdi de '.ini' dosyamiza nasıl veri ekleyebiliriz ona bakalım. Bunun için .set() kullanılır.

Kod:
[...]

config.add_section('user1')   # Oncelikle degistirmek 
config.add_section('user2')   # istedigimiz sectionlari belirtiyoruz.
config.set('user1', 'name', 'Ali')
config.set('user2', 'name', 'Mahmut')

config.write(open('./config.ini', 'w')) 

Kaynak: https://pymotw.com/3/configparser/
https://docs.python.org/3/library/configparser.html

---------------------
~Cahile gelmez benden hayır
Konu BufGix tarafından (09-06-2018 22:12 Saat 22:12 ) değiştirilmiştir.
k3~, Gbmdpof, Javabex Teşekkür etti.
metonya - ait Kullanıcı Resmi (Avatar)
Siber İstihbarat Uzmanı
Üyelik tarihi:
12/2017
Mesajlar:
1.275
Konular:
113
Ticaret:
(0) %
09-06-2018 19:35
#2
eline sağlık açıklayıcı anlatım olmuş
--------------------- Derdi Dünya Olanın Dünya Kadar Derdi Olurmuş
CyberXhackk - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
03/2016
Nereden:
pardus@root
Mesajlar:
2.992
Konular:
240
Teşekkür (Etti):
772
Teşekkür (Aldı):
704
Ticaret:
(0) %
09-06-2018 20:00
#3
Elinize sağlık.
--------------------- Linux'a Dair Herşey..
k3~
k3~ - ait Kullanıcı Resmi (Avatar)
Özel Üye
Üyelik tarihi:
10/2015
Mesajlar:
2.881
Konular:
202
Teşekkür (Etti):
1743
Teşekkür (Aldı):
3389
Ticaret:
(0) %
10-06-2018 19:59
#4
Eline sağlık
gorazek - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
01/2016
Nereden:
azerbeycan
Mesajlar:
11
Konular:
0
Teşekkür (Etti):
0
Teşekkür (Aldı):
1
Ticaret:
(0) %
10-06-2018 20:16
#5
Eline sağlık
Teodoro - ait Kullanıcı Resmi (Avatar)
Tamamen Forumdan Uzaklaştırıldı
Üyelik tarihi:
01/2018
Nereden:
Dergi Timi
Mesajlar:
1.512
Konular:
122
Ticaret:
(0) %
10-06-2018 20:16
#6
sağol
UglyKing49 - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
03/2018
Mesajlar:
336
Konular:
26
Teşekkür (Etti):
37
Teşekkür (Aldı):
30
Ticaret:
(0) %
10-06-2018 20:23
#7
Eline saglik
--------------------- ZULMÜN VE HAKSIZLIGIN OLDUGU HER YERDE İSYAN ETMEK MEŞRUDUR !
akovskiniz - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
01/2016
Nereden:
Bulgaristan
Yaş:
19
Mesajlar:
3.569
Konular:
249
Teşekkür (Etti):
181
Teşekkür (Aldı):
918
Ticaret:
(0) %
10-06-2018 20:24
#8
Ellerine sağlık
--------------------- Herşeyin bir sonu vardır, güzel geçirdiğin zamanların hatrına unutmamak gerek...
v0rxa - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
05/2018
Mesajlar:
959
Konular:
70
Teşekkür (Etti):
2
Teşekkür (Aldı):
156
Ticaret:
(0) %
10-06-2018 20:28
#9
Eline sağlık
Ceen - ait Kullanıcı Resmi (Avatar)
Forumdan Uzaklaştırıldı
Üyelik tarihi:
07/2017
Mesajlar:
219
Konular:
19
Teşekkür (Etti):
70
Teşekkür (Aldı):
75
Ticaret:
(0) %
14-06-2018 03:35
#10
Masallahiniz var hocam. Her zamanki haliniz

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı