Dosya İşlemleri

Gökhan YAVAŞ
gokhanyavas
Published in
2 min readDec 28, 2016

Bu yazımda dosyalar üzerinde işlemlerin nasıl yapılacağını inceleyeceğiz. Python’da dosyalar üzerinde işlem yaparken open() fonksiyonundan yararlanacağız. Hazırsanız başlayalım:

Dosya Oluşturmak

Yukarıda bahsettiğimiz gibi open() fonksiyonunu kullanırız.

f = open(dosyaadi, kip)

open() fonksiyonu dosya adı ve kip dışında başka parametrelerde alır. Konumuzun ilerleyen kısımlarında bunlardan bahsedeceğim.

Örneğin times isminde bir dosyayı yazma kipinde açmak için şu yolu izleriz:

times_dosyasi = open("times_dosyasi.txt", "w")

Buradaki times_dosyası.txt dosyamızın ismini ‘w’ harfi ise bu dosyanın yazma kipinde açıldığını belirtmektedir. Burada dikkat etmemiz gereken, dosya adını dizin belirtmeden yazarsanız o dosya, o an hangi dizin altında iseniz orada oluşturulacaktır.

Dosyaya Yazmak

Bir dosyayı, yukarıdaki biçimde oluşturuyoruz. Peki bu dosyayı yazmak için nasıl bir yol izleyeceğiz? Python’da açılan bir dosyayı yazmak için write() fonksiyonundan faydalarınız. Örneğimizi inceleyelim:

td = open("times_dosyasi.txt", "w")
td = write("28.12.2016 - 19:05")
td.close()

Burada dosyayı yazma kipinde açtıktan sonra write fonksiyonu ile bilgiyi dosyaya yazdık ve close metodu ile kapattık.

Dosyayı w kipinde açıp veriyi yazdıktan sonra tekrar w kipi ile veri yazmak istersek daha önceki yazdığımız verilerin silindiğini bilmenizde fayda var.

Dosya Okumak

Dosya okumak için r harfini kullanırız. Örnek üzerinden gidelim:

haberler = open("haberler.txt")
print(haberler.read())

“r” kipiyle açtığımız bir dosyayı okumak için ise read(), readline() ve readlines() adlı üç farklı metottan yararlanırız. Örneğimizde r harfini kullanmadığımızı fark etmiş olabilirsiniz. Eğer bir dosyayı okuma kipinde açacaksanız, r harfini belirtmenize gerek yoktur.

Bir dosyayı otomatikman kapatmak isterseniz diğer derslerimizde bahsettiğimiz with deyimini kullanırız.

with open("dosyaadi", "r") as dosya:
print(dosya.read())

Dosyaya Erişme Kipleri (Modları)

KipAçıklama”r”bu kip dosyayı okuma yetkisiyle açar.”w”bu kip dosyayı yazma yetkisiyle açar.”a”bu kipte açtığınız bir dosyaya eklediğiniz veriler varolan verilere ilave edilir.”x”bu kip belirttiğiniz isimde bir dosya disk üzerinde varsa, python varolan dosyayı silmek yerine size bir hata mesajı gösterir.
temel olarak kipler bunlardır. Dosyalara erişmek için kullanılan kipler hakkında daha fazla bilgi edinmek isterseniz web üzerinden araştırabilirsiniz.

Dosyaların Metodları ve Nitelikleri

Dosya üzerindeki işlemlerden yukarıda bahsettik. Dosyalarında tıpkı listeler, diziler, sözlükler gibi metotları vardır. Bu kısımda bunları inceleyeceğiz:

closed Niteliği

Bir dosyanın durumu hakkında bilgi almak için kullanılır. Dosya kapalıysa True açıksa False değerini döndürür.

dosya.close()

readable() Metodu

Metot, dosyanın okuma yetkisine sahip olup olmadığını sorgulamak için kullanılır. Eğer dosya okunabilir bir kipte açılmışsa bize True değerini döndürür. Dosya yazma kipinde açılmışsa False değeri dönecektir.

writable() Metodu

Metot, dosyanın yazma yetkisine sahip olup olmadığını sorgulamak için kullanılır.

truncate() Metodu

Önemli metotlardan birisidir. Bu metodla dosyalarımızı istediğimiz boyuta getirebiliriz. İngilizce bir kelime olan truncate : budamak, kırpmak anlamına gelmektedir. Kullanımı şu şekildedir:

with open("gelir.txt", "r+") as g:
g.truncate()

Bu komut, dosyanın bütün içeriğini silecektir. Yani bu kod ‘w’ kipinde açılmış gibi etki yapacaktır. truncate metotuna değer verirsek yani 100 değeri verdiğimizi kabul edelim. Dosya boyutu 100 bayt olacaktır. Yani 100 byte üzerindeki veriler silinecektir.

mode Niteliği

Nitelik bize dosyanın hangi kipte açıldığını verir:

f = open("gider.txt")
f.mode
Cıktı : 'w'

encoding Niteliği

Dosyanın hangi dil kodlaması ile kodlandığını söyler:

g.encoding
'cp1254' #Windows

gördüğünüz gibi dosyalar üzerinde işlem yapmak Python’da bu kadar basit.

--

--