6. PYTHON'DA DOSYA İŞLEMLERİ

 

PYTHON'DA DOSYA İŞLEMLERİ

Giriş

Python'da dosya işlemleri, programlamaya yeni başlayanlar için karmaşık görünebilir, ancak aslında oldukça basittir ve birkaç temel komutla çeşitli işlemler gerçekleştirilebilir. Bu blog yazısında, Python'da dosya açma, dosya okuma ve dosya yazma konularını ele alacağız.

Dosya Açma

Python'da bir dosyayı açmak için open() fonksiyonunu kullanırız. Bu fonksiyon, dosya adı ve dosya modu (okuma, yazma, eklemek için) olmak üzere iki parametre alır. Örneğin, 'deneme.txt' adlı bir dosyayı okuma modunda açmak için dosya = open('deneme.txt', 'r') komutunu kullanırız.

Dosya Okuma

Dosya okuma işlemi için read() fonksiyonunu kullanırız. Bu fonksiyon, dosyadaki tüm içeriği bir string olarak döndürür. Örneğin, önceki örnekte açtığımız 'deneme.txt' dosyasını okumak için icerik = dosya.read() komutunu kullanabiliriz. Bu komut, dosyanın tüm içeriğini 'icerik' adlı bir string'e atar.

Dosya Yazma

Dosya yazma işlemi için write() fonksiyonunu kullanırız. Bu fonksiyon, belirtilen string'i dosyaya yazar. Eğer dosya zaten varsa ve yazma modunda açılmışsa, bu fonksiyon dosyanın mevcut içeriğini siler ve yeni içerikle değiştirir. Örneğin, 'deneme.txt' dosyasına 'Merhaba, Dünya!' yazmak için dosya.write('Merhaba, Dünya!') komutunu kullanabiliriz.

Sonuç

Python'da dosya işlemleri, dosya açma, okuma ve yazma işlemlerinden oluşur. Bu işlemler, open(), read() ve write() fonksiyonları kullanılarak gerçekleştirilir. Bu fonksiyonları ve işlemleri anladıktan sonra, Python'da dosya işlemleri çok daha kolay hale gelir.

Dosya Kapatma

Dosya işlemlerini tamamladıktan sonra, dosyayı kapatmak önemlidir. Bu, dosyanın düzgün bir şekilde kaydedilmesini ve potansiyel hataların önlenmesini sağlar. Python'da bir dosyayı kapatmak için close() fonksiyonunu kullanırız. Örneğin, dosya.close() komutu ile açık olan bir dosyayı kapatabiliriz.

Dosya İşlemleri Kontrolü

Bir dosya üzerinde işlem yaparken, dosyanın açık olup olmadığını kontrol etmek önemlidir. Bu, open() fonksiyonunun bir dosya nesnesi döndürdüğü ve bu nesnenin bir dosya üzerinde çeşitli işlemler yapmamızı sağladığı gerçeğinden kaynaklanır. Eğer bir dosya nesnesi oluşturulamazsa, bu genellikle dosyanın var olmadığı veya okuma/yazma izinlerinin olmadığı anlamına gelir.

Aşağıda, Python'da bir dosyayı açma, okuma, yazma ve kapama işlemlerinin temel kullanımına örnek bir kod parçası bulabilirsiniz:

# Dosyayı açma
dosya = open('ornek.txt', 'w')

# Dosyaya yazma
dosya.write('Merhaba, Python!')

# Dosyayı okuma
dosya = open('ornek.txt', 'r')
print(dosya.read())

# Dosyayı kapama
dosya.close()

Bu kod parçasında, önce 'ornek.txt' adlı bir dosyayı yazma modunda açıyoruz. Ardından, 'Merhaba, Python!' metnini bu dosyaya yazıyoruz. Daha sonra aynı dosyayı okuma modunda açıp içeriğini okuyup ekrana yazdırıyoruz. Son olarak, işlemlerimiz tamamlandıktan sonra dosyayı kapatıyoruz.

Aşağıda dosya işlemlerinin daha pratik hali kullanımı gösterilmiştir.

# Dosyayı hem okuma hem yazma modunda aç
dosya = open("C:/Users/Desktop/Python/demofile.txt", "a", encoding="utf-8")

# Dosyaya yaz
dosya.write("\n"+str(input("Yazı girin : ")))

# Dosyayı kapat
dosya.close()

# Dosyayı tekrar okuma modunda aç
dosya = open("C:/Users/Desktop/Python/demofile.txt", "r", encoding="utf-8")

# Dosyayı oku ve ekrana yazdır
print(dosya.read())

# Dosyayı kapat
dosya.close()

Dosya işlemlerindeki pratik komutlar

# a komutu metin dosyasına yazı ekler.
# w komutu metin dosyasının içindekileri siler. Yazdığımızı ekler.
# r komutu metin dosyasını okumak için kullanılır.

#DOSYANIN İÇİNDEKİ İSTEDİĞİMİZ SATIRI EKRANA GETİRME

dosya = open("C:/Users/Desktop/Python/demofile.txt", "r", encoding="utf-8")
print(dosya.readlines()[1])

#DOSYANIN İÇİNDEKİ SATIRLARI EKRANA GETİRME

dosya = open("C:/Users/Desktop/Python/demofile.txt", "r", encoding="utf-8")
for i in range(len(dosya.readline())):
    print(dosya.readline())

Yukarıdaki kodu tek tek açıklamak gerekirse; open komutu ile open("C:/Users/Desktop/Python/demofile.txt dizinindeki demofile.txt dosyasını r komutu ile okutulur (encoding="utf-8" komutu metnin türkçe karakter içerdiğini belirtiyoruz.) ve dosya isimle değişkene atıyoruz.

Dosyanın içindeki bütün satırları tek tek getir komutunu yazmak yerine for döngüsü ile daha pratik bir şekilde çağırıp ekrana yazdırıyoruz.

for i in range(len(dosya.readline())): len komutu select all komutu ile aynı mantıkta çalışıyor. dosya.readline() ile dosyanın içindekiler okutulur ve 10 satır var diyelim for döngüsü tam 10 kez çalışacak ve 11. Satıra geldiğinde metin yoksa döngüyü bitirecek anlamına gelir.

print(dosya.readline()) dosyanın içindeki satırları ekrana yazdırdık.


Yorumlar

Bu blogdaki popüler yayınlar

7. PYTHON'DA HATA YAKALAMA VE İSTİSNALAR (EXCEPTIONS)

15. VERİ ANALİZİ VE İSTATİSTİKLER PYTHON'DA NASIL YAPILIR?