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…



