|
#1
| ||||
| ||||
| Python ve dosya manipulasyonu Python ve dosya manipulasyonu Dosya okuma ve yazma Dosya işlemlerinde en çok dosyaya yazma, ve dosyadan veri okumaya ihtiyaç duyarız.Python, beraberinde getirdiği built-in(standart) fonksiyonlarıyla bu işi oldukça kolay yapabilmenize olanak sağlıyor. Örnek olarak bir dosya içeriğini okumak isterseniz; Kod:
Betigi çalıştırdığınızda a.txt dosyasının içeriği ekrana basılacaktır. Herhangi bir dosyanın içine bir şey yazmak isterseniz; Kod:
a.txt içine test stringi yazılmış olacak.Bu örnekte ilkine göre farklı bir parametre kullandık.'w' parametresi write anlamına gelir.Dosyayı yazma modunda açtığınızı belirtir.Eğer okuma modunda açıyorsanız, bu parametreyi boş bırakabilirsiniz veya r(read) parametresiyle kullanabilirsiniz. Zaman zaman dosya binary modunda açmak gerekebilir.Bu durumlarda parametrenin yanına b eklemelisiniz.Yani dosyayı w modunda açıyorsanız wb, r modunda açıyorsanız rb modunda açacaksınız. Dosyayı yazma modunda acıp, eger dosya yoksa yaratıp üstüne yazmasını istiyorsanız w+, dosyaya yazdığınız verinin varolan içeriğin altına eklenmesini istiyorsanız a(append) parametresiyle çalıştırabilirsiniz. Örneğin; Kod:
Bu betik a.txt içeriğine dokunmadan, alt satıra geçip(\n bu işe yarar.) yeni ifadeyi dosyaya yazar. Meşhur "Every thing is an object" lafını duymuşsunuzdur.'bu_bir_string'.count() diyebileceğiniz bu güzel dilde bir dosyayı açtığınızda ilgili degişken nesne döndürür. Örneğin bir dosyayı şu şekilde açtınız; Kod:
İmleci istediğiniz yerden başlatın ! Bazen öyle zamanlar olur ki çok büyük dosyalarla uğraşmak zorunda kalırsınız ve daha önemlisi bu büyük dosyadan son x karakteri çekmeniz gerekir. Bu gibi durumlar için dosya içeriğinin hepsini okutmak yerine imlec'in yerini değiştirip daha hızlı ve optimize şekilde istediğiniz bilgiyi çekebilirsiniz. Örnegin 15 MB lik bir dosyadan son 100 karakteri çekmek istiyorsunuz; Kod: dosya= 'a.txt' length = os.path.getsize(dosya) dosya = open(dosya, 'r') dosya.seek(length-200) print dosya.read() Son 200 karakter emrinize amade. Basit Uygulama : Metin okuyucusu Öğrendiklerimizde python'un standart GUI kiti tkinter'i kullanarak basit bir metin okuyucusu yapalım. Kod: #!/usr/bin/env python
# yukaridaki satiri windows icin python.exe olarak ayarlayin.
from Tkinter import *
from tkFileDialog import *
# Menü'den ac dugmesine basilince tetiklenecek fonksiyon
def ac():
dosya=askopenfilename(filetypes=[("Metin Belgesi","*.txt"),
("Tum Dosyalar","*.*")]
)
if dosya:
dosya_icerigi = open(dosya)
# dosya icerigini al, ve textbox icine at
yazi_kutucugu.insert(END,dosya_icerigi.read())
root = Tk()
root.geometry('500x330+270+50')
root.title(' Basit Metin okuyucusu')
menubar = Menu(root)
menubar.add_command(label="Dosya ac", command=ac)
menubar.add_command(label="Cikis!", command=root.quit)
root.config(menu=menubar)
yazi_kutucugu = Text(root,width=100)
yazi_kutucugu.pack()
root.mainloop()
Ekran görüntüleri: Konu ile ilgili kaynaklar : http://www.effbot.org/zone/readline-performance.htm http://www.python.org/doc/current/tut/node9.html#SECTION009210000000000000000 http://www.python.org/doc/current/lib/bltin-file-objects.html http://www.devshed.com/c/a/Python/File-Management-in-Python/ ![]() #include <middleeast.h> #define ISRAELIS foul_beasts |
|
#2
| |||
| |||
| sağol arkadaşım |