
Eğer smslerinizi silmek istemiyorsanız ve gelen kutusu yüzlerce sms ile dolduysa ve telefonunuzun sms yedekleme özelliği yoksa Python sizin yardımınıza hemen yetişir (Tabi işletim sisteminiz Symbian olması lazım!).
Hemen inbox kütüphanesini kullanarak 1 KB’den daha az bir betik yazarak tüm smslerinizi text dosyası olarak yedekleyip gönül rahatlığıyla silebilirsiniz. Hemen kodlara geçelim:
from time import ctime
from inbox import Inbox
from os import listdir,mkdir
kutum = Inbox()
id = kutum.sms_messages()
yol = "e:\mesajlar\"
if not 'mesajlar' in listdir('e:\'):
mkdir(yol)
sayi = 10 #yedeklenmesini istediğiniz sms adedi
for i in range(0,sayi):
msj = kutum.address(id[i])+'n'+ctime(kutum.time(id[0]))+'n'+kutum.content(id[i])
h,ay,gun,saat,yil = ctime(kutum.time(id[i])).split(" ")
sa,dk,sn=saat.split(':')
d = gun+ay+yil+'-'+sa+'.'+dk+'.'+sn+'-'+kutum.address(id[i])+".txt"
dosya = open(yol+d,'w')
dosya.write(msj.encode('utf-8'))
dosya.close()
print str(sayi)+" adet mesaj '"+yol+"' dizinine kaydedildi."
Kodları kısaca açıklayalım.
Önce inbox modülünü import ediyoruz. Ardından gelen kutusuna bağlanıyoruz. Her smsnin kendine özgü başka smsde ıolmayan bir id numarası vardır. “id” isimli değişkene bu id numaralarını atıyoruz (kutum.sms_messages()) Sms okumayı bu id numaralarına göre yapacağız. Hafıza kartında mesajlar isminde bir dizin yoksa oluşturuyoruz. Sonra kaç adet sms yedeklemek istiyorsak “sayi” değişkenine o sayıyı yazıyoruz. “msj” isimli değişkene mesajın gönderenini, gönderme zamanını ve mesaj içeriğini atıyoruz. Mesajın gönderme tarihinin formatını ayarlıyoruz ve gönderme zamanı+gönderen+’.txt’ isimli bir dosya oluşturup mesajlar dizinine yazdırıyoruz. Yazarken utf-8 şeklinde kodlanmış olarak yazarsak karakter problemi yaşamayız. Kolay gelsin…