• Web sitemizin içeriğine ve tüm hizmetlerimize erişim sağlamak için Web sitemize kayıt olmalı ya da giriş yapmalısınız. Web sitemize üye olmak tamamen ücretsizdir.
  • Sohbetokey.com ile canlı okey oynamaya ne dersin? Hem sohbet et, hem mobil okey oyna!
  • Soru mu? Sorun mu? ''Bir Sorum Var?'' sistemimiz aktiftir. Paylaşın beraber çözüm üretelim.

Python DOSYALAMA İŞLEMLERI

LeGoLaS

Onursal Üye
Üyelik Tarihi
1 Ağu 2008
Konular
4,885
Mesajlar
16,461
MFC Puanı
15,790
Python kullanarak geliştireceğiniz uygulamalarda, uygulamanıza ait verileri saklamak isteyebilirsiniz. Eğer çok büyük çaplı verileri saklamayı düşünmüyorsanız dosyalama sizin için ideal bir yöntemdir. Bu yöntem bilinen en ilkel saklama yöntemi olmasına rağmen verilerinizi her zaman veritabanı gibi karmaşık yapılarda saklamaya ihtiyaç duymayabilirsiniz. Şimdi gelin Python ile temel dosyalama işlemleri nasıl yapılır inceleyelim:

Dosyalama Modları:
Dosyalar üzerinde işlem yapmaya başlamadan önce dosyalara erişimi denetleyen okuma/yazma modları hakkında bilgi sahibi olmanız gerekir. Bu modlar;
  • r : sadece okuma modu (salt okunur)
  • w : yazma modu
  • a : dosya sonuna ekleme modu
  • b : ikili (binary) erişim modu
  • t : salt metin modu (ön tanımlı)
  • + : hem okuma hem de yazma modu
Yukarıda bahsedilen modlar birçok programlama dili için aynı şeyi ifade etmektedir. Genel olarak farklılık görebileceğiniz nokta ise okuma, yazma ve ekleme dışındaki modlardır.Yani ekstra modlar dillere göre çeşitlilik gösterebilir.


Dosyalama modlarını inceledikten sonra Python ile bir dosyaya nasıl erişebiliriz sorusunu irdeleyelim:

[COLOR=white !important]?
1
D = open('ornek.txt')


[/COLOR]

Bu komutu çalıştırıldığında içerisine parametre olarak belirtilen dosyayı salt-okunur olarak açıp D isimli nesneye atar. (Dosyanın salt-okunur modda açılma sebebi, yazdığımız open metodu içerisine hangi modda açılacağını belirtmememizdir.)





Üst kısımda yer alan komutları incelediğinizde, D.readline() dikkatinizi satırı çekmiştir. readline() metodu o an açık olan dosyadan satır satır veri okumanızı sağlar. Bu komutu ikinci bir kez daha girerseniz dosyada yer alan bir sonraki satır ekrana getirilir.


Diyelim ki dosyayı belirli bir yerine kadar okudunuz ver işinize yarayan bilgiyi elde ettiniz. Peki dosyanın en başına nasıl geri döneceksiniz?


Eğer bu soruya yanıt olarak "dosyayı yeniden açarım" diyorsanız, evet bu da bir yoldur ama bu kadar esnek bir programlama dilinde bunu yapmanın daha kolay bir yolu vardır değil mi?


Kesinlikle var, bu yol "seek" metodunun ta kendisi. Dosyanın başına dönmek için;


[COLOR=white !important]?
1
D.seek(0)

[/COLOR]


Bu komutu çalıştırdığınızda Python o an en son karakteri işaret eden dosya imlecini dosyanızın başına yani 0. karaktere götürür.


Dosyadaki Bütün Satırlara Erişim:
Yukarıdaki yöntem ile sırayla dosyadaki bütün satırlara nasıl erişebileceğimizi görmüş olduk. Şimdi ise küçük birkaç satır yardımıyla bir dosya başından sonuna nasıl okunur inceleyelim:


[COLOR=white !important]?
1
2
dosya_metni = open('ornek.txt').read()
print(dosya_metni)

[/COLOR]



Gördüğünüz gibi "ornek.txt" dosyası içerisindeki bütün veriyi read() metodu yardımıyla okuyup ekrana bastırdık. Şimdi ise bir dosyadaki satırları listeye aktarmayı inceleyelim:


[COLOR=white !important]?
1
liste = D.readlines()

[/COLOR]


Şimdiye kadar gördüğümüz kısım bir dosyadan veri okuma ile ilgiliydi. Şimdi ise "bir dosyaya nasıl veri yazılır?" sorusunu irdeleyelim. Dosyaya veri yazmak için w veya a ve +modlarının kullanabileceğimiz üç mod olduğuna yazının başında değinmiştik. Şimdi bu modlardan faydalanarak dosyaya veri yazma işlemini gerçekleyelim:


[COLOR=white !important]?
1
2
Y = open('ornek.txt','a')
Y.write('EKLENEN TEST VERISI')

[/COLOR]


Gördüğünüz gibi open metodunu yazarken ikinci bir parametre olan "a" sayesinde dosyayı sonuna ekleme modunda açarak içeriğini güncelledik.


Peki içerisinde veri olan bir dosyayı "a" - append yerine "w" - write modunda açsaydık ne olurdu? Varolan dosya içeriği silinir, son olarak göndermiş olduğunuz veri içeriği boşaltılmış dosyaya yazılırdı. "w" - write modu aslında dosyayı yeniden oluşturma modu olarak da düşünülebilir. Zaten open() metodunda belirttiğiniz gibi bir dosya o an içinde bulunulan dizinde yoksa "w" modu ile açılması halinde otomatik olarak oluşturulur.


Üzerinde çalışmakta olduğunuz dosya ile işiniz bittikten sonra;


[COLOR=white !important]?
1
Y.close()

[/COLOR]


komutu ile bu dosyayı kapatmanız faydalı olacaktır.
Temel olarak Python'da dosyalama işlemleri konusunu incelemiş olduk. Siz de yapacağınız uygulamalarla örnekleri çoğaltabilir, bu işlemleri ihtiyacınıza göre şekillendirebilirsiniz.


Unutmayın, Python yeterince esnek bir dildir.
İyi çalışmalar...

 
Üst