Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
mustafamuratcoskun
GitHub Repository: mustafamuratcoskun/Sifirdan-Ileri-Seviyeye-Python-Programlama
Path: blob/master/Dosya İşlemleri/Dosyalarda Kullanılan Fonksiyonlar.ipynb
765 views
Kernel: Python 3

Dosyalarda Kullanılan Fonksiyonlar

Bu derste dosya okuma işlemlerine devam edeceğiz ve dosyalarda kullanılan metodları öğrenmeye çalışacağız.

Dosyaları Otomatik Kapatma

Dosyalarda işlemlerimiz bittiği zaman dosyamızı kapatmamız gerektiğini biliyoruz. Ancak programlamacılık doğası gereği çoğu zaman dosyaları kapatmayı unutabiliriz. Bunun için Pythonda dosyalarda işimiz bitince otomatik kapatma özelliği bulunuyor. Bundan sonra Pythonda dosya işlemlerimizi şu blok içinde yapacağız.

with open(dosya_adı,dosya_kipi) as file: Dosya işlemleri

Örneğimize bakalım.

with open("bilgiler.txt","r",encoding = "utf-8") as file: for i in file: print(i)
Mustafa Murat Coşkun Mehmet Gençol Oğuz Artıran Serhat Say Mert Erarslan

Eğer dosya işlemlerini bu blok içinde yaparsak işlemimiz bittiği zaman dosyamız otomatik olarak kapanacaktır.

Dosyaları İleri Geri Sarmak

Biliyorsunuz önceki dersimizde dosyaları okurken sadece dosyanın en başından başlayabiliyorduk ve dosya imlecimiz okuma işleminin sonunda , dosyanın en sonuna gidiyordu. Ancak biz çoğu zaman dosya imlecini (file) dosyanın herhangi bir yerine götürmek isteyebiliriz. Bunun için Pythondaki seek() fonksiyonunu kullanacağız. Ancak ondan önce dosya imlecinin hangi byteda olduğunu söyleyen tell() fonksiyonuna bakalım.

with open("bilgiler.txt","r",encoding = "utf-8") as file: print(file.tell())
0

Şu anda hiçbir işlem yapmadığımız için tell() fonksiyonu dosyanın en başında (0. byteda) olduğumuzu söyledi. Peki bir dosya imlecini dosyanın 20.byte'ına götürmek için ne yapacağız ? Bunun için de seek() fonksiyonunu kullanacağız.

with open("bilgiler.txt","r",encoding = "utf-8") as file: file.seek(20) # 20.byte götürdük. print(file.tell())
20

Peki biz bir dosyanın belirli bir byte'ına(karakter) gidip sadece belli sayıda karakteri nasıl okuyacağız ? Eğer biz read() fonksiyonuna bir sayı değeri verirsek sadece o sayı değeri kadar alanı okuyacaktır. Hemen görelim.

with open("bilgiler.txt","r",encoding = "utf-8") as file: file.seek(5) # 5.byte gidiyoruz. icerik = file.read(10) # 10 karakteri okuyoruz. print(icerik) print(file.tell())
n,Java,C,P 15
with open("bilgiler.txt","r",encoding = "utf-8") as file: file.seek(5) # 5.byte gidiyoruz. icerik = file.read(10) # 10 karakteri okuyoruz. print(icerik) file.seek(0) icerik2 = file.read(6) print(icerik2)
n,Java,C,P Python

Burada gördüğümüz gibi dosyalarda herhangi bir yere gidip istediğimiz kadar karakteri okuyabiliyoruz. Bir sonraki derste dosyalarda değişiklik yapmayı öğreneceğiz.