İşte metin dosyalama ile ilgili çalışmam. Aslında klasik programlamadan kalan bilgilerim daha çok yardımcı oldu. Yani belki de QBasic veya Pascal ile yapılan bir dosyalamadan farkı yok bana göre.
Bazı konular garip gelse de uyum sağlamam pek zor olmadı 2 günde. Alt program, döngü, dizi… kolay bir dil.
# -*- coding: cp1254 -*-
def listele():
“verileri ekrana biçimleyerek listeliyoruz”
print “nDosya açılıyorn”,”*-“*30
f=open(‘isimler.txt’,’r’) #r=okuma modu
i=0
satirlar=[]
print “%5st%s”%(‘Sıra No’,’İsimlern’),’_’*30
for line in f:
print “%5d)t%s”%(i,line),
satirlar.append(line)
i=i+1
print “n(Listeleme işlemi bitti.)”
f.close()
return satirlar
def satir_ekle(satirlar):
“istenen bir metni belge sonuna ekliyoruz”
f=open(‘isimler.txt’,’a’) #a=ekleme modu
eklenecek=raw_input(‘Eklenecek ismi giriniz: (Enter ile devam)’)
sonuc=False
if eklenecek!=”:
sonuc=True
f.write(eklenecek+’n’) #Dosya sonuna 1 satır yaz
print “n(Satır ekleme işlemi bitti.)”
f.close()
return sonuc
def satir_sil(satirlar):
“istenen satırı metin dosyadan siliyoruz, dizi kullarak”
satirsil=-1
cevap=raw_input(‘Bir satırı silmek ister misiniz? (e/E)’)
if cevap in (‘e’,’E’):
satirsil=int(raw_input(‘Hangi satir silinecek=’))
    if satirsil>=0 and satirsil<len(satirlar):
del satirlar[int(satirsil)]
k=open(‘isimler.txt’,’w’) #w=yazma modu
i=0
while i<len(satirlar):
k.write(satirlar[i])
i=i+1
print “n(Satır silme işlemi bitti.)”
k.close()
## ANA PROGRAM ##
satirlar=listele()
if satir_ekle(satirlar):satirlar=listele()
satir_sil(satirlar)
##   Bitti   ##
Ekran görüntüsü:
Dosya açılıyor
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
Sıra No İsimler
______________________________
0) ow
(Listeleme işlemi bitti.)
Eklenecek ismi giriniz: (Enter ile devam)er
(Satır ekleme işlemi bitti.)
Dosya açılıyor
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
Sıra No İsimler
______________________________
0) ow
1) er
(Listeleme işlemi bitti.)
Bir satırı silmek ister misiniz? (e/E)e
Hangi satir silinecek=0
(Satır silme işlemi bitti.)
Bu örnek dışında bir de TKinter ile basit bir onay girişi örneğimiz var, bu örneği “hello world” örneği olan python dokümanından geliştirdim.
from Tkinter import *
def onay_al(onay_metni, defa=4):
“kendi alt programimiz normal döngü ile”
while True:
sonuc=raw_input(onay_metni)
if sonuc in (‘e’,’E’,’evet’,’Evet’,’EVET’):
return 1
else:
defa=defa-1
print “Kalan Hak: “,defa
if defa==1:
print “Hayir hakkiniz dolmus…”
return 0
def onay_al2(sayac):
“kendi alt programimiz dış döngü ile”
sonuc=raw_input(“Cevabiniz (e/h):”)
if sonuc in (‘e’,’E’,’evet’,’Evet’,’EVET’):
return -1
else:
print “Kalan Hak: “,sayac
return sayac – 1 
class Application(Frame):

def say_hi(self):
onay_al(“Cevabiniz (e/h):”)

    def say_hi2(self):
sayac=3
while sayac:
sayac=onay_al2(sayac)
if sayac==-1: break
elif sayac==0: print “Hakkiniz doldu!”
    def createWidgets(self):
self.hi_there = Button(self)
self.hi_there[“text”] = “Onay1”,
self.hi_there[“command”] = self.say_hi
        self.hi_there.pack({“side”: “left”})
        self.dumge3 = Button(self)
self.dumge3[“text”] = “Onay2”,
self.dumge3[“command”] = self.say_hi2
        self.dumge3.pack({“side”: “left”})
        self.QUIT = Button(self)
self.QUIT[“text”] = “Kapat”
self.QUIT[“fg”]   = “red”
self.QUIT[“width”]   = 15
self.QUIT[“command”] =  self.quit
        self.QUIT.pack({“side”: “left”})
    def __init__(self, master=None):
Frame.__init__(self, master)
self.pack()
self.createWidgets()
root = Tk()
app = Application(master=root)
app.mainloop()
root.destroy()
 Son örneğin ekran görüntüsü:
Reklamlar