Dosyaları Açmak İçin Değişik Fonksiyonlar Kullanımı

Dosyaları Açmak İçin Değişik Fonksiyonlar Kullanımı

Python'da dosya işlemleri için open fonksiyonu en temel fonksiyondur ve dosyanın adı ve açma modu belirtilerek kullanılır Dosyaların açılması, işlemlerin tamamlanması ve kapatılması işlemleri with ifadesi kullanılarak kolayca gerçekleştirilebilir read fonksiyonu, bir dosyanın tamamını okumak için kullanılırken, readline fonksiyonu satır satır okuma yapar ve readlines fonksiyonu tüm satırları liste olarak döndürür Dosyalara veri yazmak için ise write fonksiyonu kullanılır Dosyalarda yapılan değişikliklerin kaydedilmesi için flush fonksiyonu kullanılabilir Dosyaların açma modları ise r, w, a ve x olarak belirlenir Dosyaların karakter kodlaması iso-8859-1 gibi özellikler encoding parametresi ile belirtilir Dosya işlemleri bittikten sonra dosyanın kapatılması önemlidir

Dosyaları Açmak İçin Değişik Fonksiyonlar Kullanımı

Python programlama dilinde, bir dosyayı açmak için kullanılan farklı fonksiyonlar mevcuttur. Bu makalede, dosyaların açılması ve verilerin okunması veya yazılması işlemlerinde kullanılabilecek fonksiyonlar üzerinde durulacaktır.

En temel dosya açma fonksiyonu, open() fonksiyonudur. Bu fonksiyon, belirtilen dosyayı açmak için kullanılır. Dosyayı açarken, dosya adı ve açma modu belirtilir. Ayrıca dosya işlemleri tamamlandıktan sonra kapatılması için close() fonksiyonu kullanılması önerilir.

With ifadesi kullanılarak dosya açma işlemi yapılırsa, programda oluşabilecek hatalar önlenir. Bu şekilde dosyanın açılması, işlemlerin tamamlanması ve dosyanın kapatılması gibi işlemler otomatik olarak gerçekleştirilir. Böylece, kodlar daha okunaklı hale gelir ve hata olasılığı azalır.

Başka bir önemli fonksiyon, dosya içeriğini okumak için kullanılan read() fonksiyonudur. Bu fonksiyon, dosyanın tamamındaki verileri bir karakter dizisi olarak döndürür. Eğer dosya satır satır okunacaksa readline() fonksiyonu kullanılır. Ayrıca dosyanın tüm satırlarını okumak için readlines() fonksiyonu kullanılabilir.

Veri yazmak için kullanılan fonksiyon ise write() fonksiyonudur. Bu fonksiyon, belirtilen verileri dosyaya yazar. Belirli bir konumda veri okumak veya yazmak için seek() fonksiyonu kullanılabilir. Dosyalarda yapılan değişikliklerin kaydedilmesi için flush() fonksiyonu kullanılabilir.

Böylece, Python programlama dilinde dosya açmak için farklı fonksiyonlar kullanılmaktadır. Hangi fonksiyonun kullanılacağı, dosyanın okunması veya yazılması işlemlerine göre değişebilir. Ancak, dosya işlemleri tamamlandıktan sonra dosyanın kapatılması önemlidir.


open() Fonksiyonu

Python programlama dili dosyaları açmak için en temel fonksiyon olan "open()" fonksiyonuna sahiptir. Bu fonksiyon, bir dosyayı açarken dosya adı, dosya açma modu ve kodlama türü gibi temel bilgileri alır. Dosya adıyla birlikte dosyanın bulunduğu dizin yolu belirtilir. Açma modu ise dosyanın nasıl açılacağını belirler. Aşağıdaki tabloda dosya açma modları ve açıklamaları verilmiştir:

Açma Modu Açıklama
r Dosya okumak için açılır (varsayılan).
w Dosya yazmak için açılır. Dosya yoksa oluşturulur. Dosya varsa içeriği silinir ve yeniden baştan yazılır.
a Dosyaya ekleme yapmak için açılır. Dosya yoksa oluşturulur.
x Dosya oluşturmak için açılır ve dosya zaten varsa hata verir.

Peki open() fonksiyonu nasıl kullanılır? Aşağıdaki örnekte, dosya adı "ornek.txt" olan bir dosya açma örneği verilmiştir:

dosya = open("ornek.txt", "r")

Bu örnekte, "ornek.txt" dosyası okunmak için açılır. Dosya adı ve dosya açma modu "r" olarak belirtilir. Bu kod çalıştırıldığında dosya açılır ve "dosya" adlı bir dosya nesnesi oluşturulur. Dosya nesnesi, dosyayla çalışmak için kullanılır.

open() fonksiyonu ayrıca dosya açılırken hangi karakter kodlamasının kullanılacağını belirlemek için de kullanılır. Bunun için "encoding" parametresi kullanılır. Varsayılan olarak, dosyalar "utf-8" kodlamasıyla açılır. Örneğin, dosyayı "iso-8859-1" kodlamasıyla açmak için aşağıdaki gibi kullanılır:

dosya = open("ornek.txt", "r", encoding="ISO-8859-1")

open() fonksiyonu, dosyaları açmak ve dosyalarla çalışmak için en temel fonksiyondur. Daha fazla dosya işlemi işlevi için Python'da pek çok yardımcı fonksiyon ve modül bulunmaktadır.


with İfadeleri

Dosyalarla çalışırken, bazen açarken hatalarla karşılaşabilirsiniz. Bu hataların önüne geçmek için with ifadesi kullanılmaktadır. With ifadesi, dosyayı açarken otomatik olarak kapatılmasını sağlar ve böylece dosya açık kaldığında oluşabilecek hataların önüne geçer. Ayrıca with ifadesi, dosyayı açarken hata oluşursa da dosya otomatik olarak kapatılır.

Örneğin,

with open('dosya.txt', 'r') as f:    # Dosya işlemleri yapılır

Bu şekilde dosyayı with ifadesi ile açtığımızda, herhangi bir hata oluşsa bile dosya otomatik olarak kapatılacaktır. Bu sayede dosyanın açık kalması ve bellek sızıntısı gibi problemler oluşması engellenir.


read() Fonksiyonu

Python'da dosyaları açmak ve dosya içeriğini okumak için kullanılan en temel fonksiyonlardan biri read() fonksiyonudur. Bu fonksiyon, dosyanın tamamını bir seferde okur ve dosya içeriğini bir string olarak döndürür.

Bir dosyayı açmak ve read() fonksiyonunu kullanarak dosya içeriğini okumak için örnek bir kod:

Kod Açıklama
with open("dosya.txt", "r") as f: dosya.txt adlı dosyayı okumak için açılır
 dosya_icerigi = f.read() dosya içeriği bir string olarak okunur ve dosya_icerigi değişkenine atanır
print(dosya_icerigi) dosya içeriği ekrana yazdırılır

Bu örnekte, dosya.txt adlı dosya açılır ve "r" (read) parametresi kullanılarak okunabilir hale getirilir. Dosya içeriği, read() fonksiyonu ile bir seferde okunur ve dosya_icerigi değişkenine atanır. Son olarak, dosya içeriği ekrana yazdırılır.

read() fonksiyonu, dosya boyutu büyük olduğunda programın yavaşlamasına ve hafıza kullanımının artmasına neden olabilir. Bu nedenle, özellikle büyük dosyaların işlenmesinde, dosya içeriğini bir seferde değil parçalar halinde okuyan readline() veya readlines() fonksiyonları tercih edilebilir.


readline() Fonksiyonu

Python'da dosya içerisindeki bir satırı okumak için kullanılan readline() fonksiyonu oldukça pratik bir fonksiyondur. Bu fonksiyon okunan satırı tek bir string halinde geri döndürür.

Bu fonksiyonun kullanımı oldukça basittir. Dosya açıldıktan sonra readline() fonksiyonu kullanılarak dosyanın ilk satırı okunur.

Örneğin:

Dosya İçeriği Okunan Satır
Merhaba dünya!
İlk satır
İkinci satır
Üçüncü satır
Merhaba dünya!

Yukarıdaki örnekte, readline() fonksiyonu dosyanın ilk satırını okumuştur. Eğer readline() fonksiyonu tekrar kullanılırsa, bu sefer dosyanın ikinci satırını okuyacaktır.

Her çağrıda bir sonraki satırı okuyan bu fonksiyon, dosya sonuna gelindiğinde ise boş bir değer döndürür. Böylece dosyanın tamamını okuyana kadar bu fonksiyon tekrar tekrar çağırılabilir.

readline() fonksiyonunun kullanımı oldukça pratik olduğu için, dosyaları okurken genellikle tercih edilen bir fonksiyondur.


readlines() Fonksiyonu

Python'da dosyalar üzerinde yapabileceğimiz işlemlerden biri de dosyanın tüm satırlarını okumaktır. readlines() fonksiyonunun kullanımı bu işlem için uygundur.

Bu fonksiyon, dosyaya erişimi sağladıktan sonra tüm satırları tek seferde bir listeye atar. Böylece dosyanın tamamını tek seferde işleyebiliriz.

Örneğin, açılan bir dosyanın tüm satırlarını okumak ve bu satırları liste halinde görüntülemek için şu kod kullanılabilir:

Kod Açıklama
with open('dosya.txt', 'r') as dosya: Dosya açılır ve with ifadesi ile otomatik olarak kapatılır.
 satirlar = dosya.readlines() Tüm satırlar satirlar listesine atanır.
 print(satirlar) Satırlar ekrana yazdırılır.

Bu örnekte, dosya.txt dosyası açıldıktan sonra readlines() fonksiyonu ile tüm satırlar satirlar listesine atanır. Ekrana listeyi yazdırmak için print() fonksiyonu kullanılır.

readlines() fonksiyonu, her satır sonunda alt satıra geçiş karakteri '\n' de dahil olmak üzere bütün karakterleri döndürür. Bu nedenle, dosyadaki her satırın sonunda bir satır atlama karakteri olacağı için, dönen satırlardan bu karakterleri de çıkarmak gerekebilir.

Bir dosyadaki tüm satırları okumak gerektiğinde, readlines() fonksiyonu oldukça kullanışlıdır. Ancak dosyanın boyutu büyük ise, her satırı tek tek okuyan readline() fonksiyonu yerine tüm satırları bir seferde okuyan readlines() fonksiyonu tercih edilmelidir.


write() Fonksiyonu

Python'da dosyalara veri yazmak için write() fonksiyonu kullanılır. Bu fonksiyon ile veriler herhangi bir dosyaya yazılabilir. Dosyanın açılması ve oluşturulması gerekiyor. Dosya, write() fonksiyonu ile veri yazılmadan önce 'w' parametresi ile açılmalıdır.

Örneğin, 'file.txt' adlı bir dosyaya "Merhaba Dünya!" yazmak için şu kodları kullanabiliriz:

Kod Açıklama
with open('file.txt', 'w') as f: 
  f.write('Merhaba Dünya!')
Dosya yazma işlemi

Bu kod, 'file.txt' adlı bir dosya oluşturur ve dosyaya 'Merhaba Dünya!' yazısını yazar. Dosya mevcut değilse, 'w' parametresinin de yardımıyla bu işlemi gerçekleştirir ve dosyayı oluşturur.

Bir dosyaya yeni bir satır eklemek için '\n' karakterini kullanabiliriz. Aşağıdaki örnek veri satırı oluşturur:

Kod Açıklama
with open('file.txt', 'w') as f: 
  f.write('Merhaba Dünya!\n')
Yeni satır ekleme işlemi

Burada, 'Merhaba Dünya!' yazısının sonunda '\n' karakteri kullanılarak yeni bir satır oluşturuldu.

write() fonksiyonunun farklı veri tiplerini yazabilme özelliği vardır. Örneğin, bir sayı yazmak için, sayıyı önce string'e çevirmemiz gerekiyor:

Kod Açıklama
with open('file.txt', 'w') as f: 
  f.write(str(12345))
Sayı yazma işlemi

Bu kod, '12345' sayısını dosyaya yazar.

Sonuç olarak, Python'da dosyalara veri yazmak için write() fonksiyonu kullanılır ve açılan dosyaya veri yazmak için 'w' parametresi kullanılır. write() fonksiyonu farklı veri tiplerini kabul edebilir ve modifiye edilebilen veri kullanılabilir.


close() Fonksiyonu

Python’da dosya işlemleri önemli bir yer tutar. Dosyalarla çalışırken bir dosyayı açtığımızda mutlaka kapatmamız gerekir. Aksi takdirde dosya açık kalacağından kaynaklanabilecek birçok hata ortaya çıkabilir. İşte bu noktada close() fonksiyonu kullanılmaktadır.

close() fonksiyonu nedir?

close() fonksiyonu, dosyaların kapatılması için kullanılan bir Python fonksiyonudur. Bu fonksiyon sayesinde işlem yapılan dosya, işlem sonlandığı zaman kapandığından, dosyaya erişim sağlanamaz. Bu sayede programın gereksiz yere kaynak tüketmesi engellenmiş olur.

close() fonksiyonu nasıl kullanılır?

close() fonksiyonu, herhangi bir dosya adı ile kullanılabilir. Örneğin;

f = open("ornek.txt", "r")# yapılacak işlemlerf.close()

Bu örnekte, "ornek.txt" adında açılan dosya işlemi bittikten sonra f.close() komutuyla dosya kapatılmıştır. Dosya işlemi tamamlandıktan sonra mutlaka close() fonksiyonunun kullanılması gereklidir. Aksi takdirde, sistemde kaynak tüketimi oluşabilir ve program hatalı çalışabilir.

Bir diğer kullanım şekli ise "with" deyimi ile kullanmaktır. Bu kullanımda, dosya kapatma işlemi otomatik olarak gerçekleştirilir.

with open("ornek2.txt", "r") as f:# işlem yapılır.

Bu örnekte, dosya okuma işlemi gerçekleştirilirken, dosya otomatik olarak kapatılır.


flush() Fonksiyonu

flush() fonksiyonu, dosyalara yapılan değişikliklerin kaydedilmesini sağlar. Bu işlem, dosya kapatılmadan önce yapılmalıdır. Eğer flush() fonksiyonu kullanılmamışsa, dosyaya yapılan değişiklikler kaydedilmeyecek ve kaybolacaktır.

Bir örnekle açıklamak gerekirse, bir dosyaya veri yazdınız ve dosyayı kapatmadan önce flush() fonksiyonunu kullanmadınız. Bu durumda, veriler kaydedilmez ve dosyayı açtığınızda, son yapılan değişiklikler kaybolmuş olur.

flush() fonksiyonu, write() fonksiyonundan sonra kullanılmalıdır. Aşağıdaki örnek kodda, bir dosyaya veri yazıldıktan sonra flush() fonksiyonu kullanılarak verilerin kaydedilmesi sağlanmıştır:

file = open("dosya.txt", "w")file.write("Merhaba Dünya")file.flush()file.close()

Burada, dosya.txt adlı dosyaya "Merhaba Dünya" yazıldıktan sonra flush() fonksiyonu kullanarak değişiklikler kaydedildi ve dosya kapatıldı.


seek() Fonksiyonu

Dosyaları açarken verilerin farklı yerlerine erişmek gerekebilir. İşte bu noktada seek() fonksiyonu devreye girer. Bu fonksiyon, dosyanın istenilen byte konumuna gitmesine olanak sağlar.

seek() fonksiyonu kullanılırken iki farklı parametre belirtilmelidir. İlk parametre, dosya içerisinde hangi byte konumuna gitmek istendiğini belirtir. İkinci parametre ise, gösterimizdir.

Gösterim parametresi, seek() fonksiyonunun hangi referans noktasından hareket edeceğini belirler. Varsayılan olarak gösterim parametresi, 0'dır ve bu da dosyanın başlangıcından hareket edildiği anlamına gelir. Diğer gösterim parametreleri ise 1 ve 2'dir. 1, mevcut konumdan itibaren hareket ettiğini ifade ederken 2, dosyanın sonundan itibaren hareket edildiğini ifade eder.

Aşağıdaki örnek kodda, seek() fonksiyonunun kullanımı gösterilmiştir:

```with open("dosya.txt", "rb") as f: # dosyanın 10. byte konumuna git f.seek(10) # dosyanın 20. byte konumuna git ve orada yazılanları oku f.seek(20) data = f.read() # mevcut konumdan 10 byte ileri giderek orada bulunan veriyi oku f.seek(10, 1) data = f.read() # dosyanın sonundan itibaren 20 byte geri giderek veriyi oku f.seek(-20, 2) data = f.read()```

Bu örnekte, dosyadan veri okumak için önce dosyayı binary modunda açıyoruz. Daha sonra seek() fonksiyonunu kullanarak farklı byte konumlarına gidiyoruz ve orada bulunan verileri okuyoruz.

Sonuç olarak, seek() fonksiyonu, dosyalarda farklı byte konumlarına erişim sağlamak için kullanılır ve dosyaların işlenmesi için önemlidir.