Python ile metin işlemek

Şehir kayıtlarını okuyalım

Pyparsing kütüphanesi ile bir kütükteki şehir kayıtlarını okuyalım

Şehir bilgilerini okuma

Bu sefer içerisinde şehir kayıtlarının olduğu bir kütükten okuma yapmak istediğimizi düşünelim.

şehir.cfg

Şehir=Eskişehir
Ülke=Türkiye
Nüfus=860620

Bu şekilde birbirinden eşittir işaretiyle ayrılmış kayıtların olduğu bir kütüğümüz olsun.

from pyparsing import*

alfabe = u'abcçdefgğhiijklmnoöprsştuüvyzABCÇDEFGĞHIİJKLMNOÖPRSŞTUÜVYZ0123456789'

anahtar = Word(alfabe)('anahtar')
eşittir = Suppress('=')
değer = Word(alfabe)('değer')

sorgu = anahtar + eşittir + değer

with open('şehir.cfg') as kütük:
  veriler = kütük.read()

for eşleşen in sorgu.scanString(veriler):
    sonuç = eşleşen[0]
    print("{0} değeri {1}".format(sonuç.anahtar, sonuç.değer))

Okumak için bir önceki derste izah ettiğimiz gibi anahtar eşittir değer şeklinde bir yazım kuralı oluşturuyoruz.

Burada ilginç bir konu alphanums yerine kendi oluşturduğumuz alfabe değişkenini kullandık.

scanString() işlevi metin içinde arama yaparak sadece eşleşen kayıtları getiriyor.

Programımızın çıktısı da şu şekilde oluyor :

Şehir değeri Eskişehir
Ülke değeri Türkiye
Nüfus değeri 860620

Yorumlar

yorum yaz

Yorum yaz

Henüz yorum yok.