Skip to content

September 8, 2009

PyS60 ile Telefon Rehberi Yedekleme

.

Bugün karşılaÅŸtığım bir olaydan sonra Python’u daha çok sevmeye baÅŸladım. Nokia 6600 rehberini yedeklemeye çalıştık birkaç rehber programı kullandık vCard formatında çıkardı ama isimlerin yaklaşık olarak yarısı görünmedi yani tam olarak alamadık. Derken iÅŸ baÅŸa düştü ve PyS60 ile birkaç satırda hallettik ve bunu sizinle burada paylaşıyorum.

import contacts
rehber=contacts.open()
liste=''
s=len(rehber)
for id in rehber:
    try:
        isim=rehber[id][0].value
    except:
        isim='isim yok'
    try:
        no=rehber[id][1].value
    except:
        no='numara yok'
    liste = liste+isim+'-'+no+'\n'
dosya_adi = 'e:\\rehber-yedek.txt'
dosya = open(dosya_adi,'w')
dosya.write(liste.encode('utf-8'))
dosya.close()
print s,' kisi "'+dosya_adi+'" adresine yedeklendi.'


utf-8 karakter kodlamasıyla okuyup yazdığımız için herhangi bir karakter problemi de oluşmuyor.

Burada önce contacts modülünü import ediyoruz.

contacts.open() fonksiyonuyla rehberi açıyoruz.

len(rehber) rehberdeki kişi sayısını veriyor.

for döngüsüyle rehberdeki her elemanı sırasıyla çekiyoruz.

rehber[id][0].value deÄŸeri bize rehberdeki ismi verir

rehber[id][1].value değeri bize ilk numarayı veriri

rehber[id][2].value değeri bize ikinci numarayı verir. Değiştirdiğimiz sayı her bir alanı ifade etmektedir.

try kullanmamızın nedeni ise bazen isim olup numara olmuyor veya tam tersi oluyor böyle bir durumda hata verip döngüyü bitirmemesidir.

Okuduğumuz isim ve numaraları aralarına bir ‘-‘ karakteri koyarak ve ‘\n’ ile bir alt satıra geçmesini sağlayarak liste stringine ekliyoruz.

for döngüsü bittikten sonra bir dosya açıp ‘utf-8’ karakter kodlamasıyla kaydediyoruz.

Hepsi bu kadar…

Benzer yazılar:

Share your thoughts, post a comment.

(required)
(required)

Note: HTML is allowed. Your email address will never be published.

Subscribe to comments