Python Dosya İşlemleri

Merhaba arkadaşlar, bu yazımızda Python derslerinin bu serisinde on beşinci ders olarak Python Dosya İşlemleri konusuna değinmeye çalışacağım. Umarım sizler için faydalı bir yazı olur. İsterseniz hemen başlayalım.

Python Dosya İşlemleri

Python Dosya Uzantısı

Python programları genellikle “.py” dosya uzantısı ile kaydedilir. Bu uzantı, dosyanın Python kodu içerdiğini belirtir ve Python interpretatörü tarafından okunabileceğini gösterir.

Ancak, Python programlarının yanı sıra, Python ile oluşturulmuş diğer dosyalar da olabilir. Örneğin, “.pyc” dosya uzantısı Python bytecode’unu (derlenmiş Python kodu) içerir. Bu dosyalar, Python interpretatörü tarafından direk olarak okunabilir ve çalıştırılabilir, ancak kullanıcı tarafından okunması zor olabilecek şekilde kodlanmıştır.

Ayrıca, Python ile oluşturulmuş diğer dosya tipleri de mevcuttur, örneğin:

  • “.pyd” dosya uzantısı Python extension modülü olarak kullanılır.
  • “.pyo” dosya uzantısı, Python derleme sonrası optimizasyonları içerir.
  • “.whl” dosya uzantısı Python Wheel paketi olarak kullanılır.
  • “.egg” dosya uzantısı Python Egg paketi olarak kullanılır.

Bu sadece bazı Python dosya uzantılarıdır, Python ile oluşturulduğu anlaşılması için kullanılan diğer uzantılar da olabilir. Önemli olan, Python interpretatörünün hangi dosya tipini nasıl okuyacağıdır.

Temel Dosya Modları

Python’da dosyalar için kullanabileceğiniz temel modlar şunlardır:

  1. “r” (okuma) modu: Bu modda, dosya sadece okunabilir olarak açılır. Eğer dosya mevcut değilse, bir hata oluşur.
  2. “w” (yazma) modu: Bu modda, dosya sadece yazılabilir olarak açılır. Eğer dosya zaten mevcutsa, içeriği silinir ve yeni veriler yazılır.
  3. “a” (ekleme) modu: Bu modda, dosya sadece yazılabilir olarak açılır. Eğer dosya zaten mevcutsa, veriler dosyanın sonuna eklenir. Eğer dosya mevcut değilse, yeni bir dosya oluşturulur.
  4. “x” (oluşturma) modu: Bu modda, dosya sadece yazılabilir olarak açılır. Eğer dosya zaten mevcutsa, bir hata oluşur. Eğer dosya mevcut değilse, yeni bir dosya oluşturulur.
  5. “b” (binary) modu: Dosya modlarına ek olarak kullanılabilir. Bu modda, dosya binary veri olarak okunur ve yazılır.
  6. “t” (text) modu: Dosya modlarına ek olarak kullanılabilir. Bu modda, dosya text veri olarak okunur ve yazılır.

Ek olarak, “r+”, “w+”, “a+” gibi modlar da mevcuttur. Bu modlar, dosyayı hem okuma hem de yazma için açar.

Örnek :

f = open("example.txt", "r")
content = f.read()
f.close()

Bu kod parçası, “example.txt” isimli dosyayı okuma modunda açar ve içeriğini okur. Daha sonra dosya kapatılır.

Dosyaya Yazma

Python’da dosyaya yazma işlemi için write() metodu kullanılır. Bu metod, verilen argümanı dosyaya yazar. Örneğin, aşağıdaki kod parçası, “example.txt” isimli dosyayı yazma modunda açar ve “Hello, World!” metnini içine yazar:

f = open("example.txt", "w")
f.write("Hello, World!")
f.close()

write() metodu, dosyaya sadece tek bir satır yazdırır. Eğer birden fazla satır yazdırmak istiyorsanız, satırlar arasına \n eklemelisiniz. Örnek :

f = open("example.txt", "w")
f.write("First Line\n")
f.write("Second Line\n")
f.write("Third Line\n")
f.close()

Eğer dosya zaten mevcutsa ve “a” modunda açılırsa, veriler dosyanın sonuna eklenir. Örnek :

f = open("example.txt", "a")
f.write("Additional line\n")
f.close()

Bir dosyada okuma ve yazma yapmak için “r+” modunda açabilirsiniz. Örnek :

f = open("example.txt", "r+")
content = f.read()
print(content)
f.write("Additional line\n")
f.close()

Bu kod parçası, “example.txt” isimli dosyayı okuma ve yazma modunda açar ve içeriğini okur, ekstra satır yazar ve dosya kapatılır.

Otomatik Dosya Kapatma

Python’da with anahtar kelimesi kullanılarak dosyaları otomatik olarak kapatmak mümkündür. with bloğu içinde açılan dosya, bloğun sonunda otomatik olarak kapatılır. with bloğu içinde oluşabilecek hata durumlarına rağmen dosya kapatılır.

Örnek :

with open("example.txt", "r") as f:
    content = f.read()
    print(content)

Bu kod parçası, “example.txt” dosyasını okuma modunda açar ve içeriğini okur. Daha sonra, dosya otomatik olarak kapatılır ve içerik ekrana yazdırılır.

Bu yöntem, dosya kapatma işlemini unutmamanızı sağlar ve hata durumlarında dosya kapatılmış olmasını garanti eder.

Dosya Okuma

Python’da dosya okuma işlemi için read() metodu kullanılır. read() metodu, dosyanın içeriğini okur ve okunan veriyi bir değişkene atar. Örneğin, aşağıdaki kod parçası, “example.txt” isimli dosyayı okuma modunda açar ve içeriğini okur:

f = open("example.txt", "r")
content = f.read()
print(content)
f.close()

read() metodu tüm dosyayı okur ve okunan veriyi bir değişkene atar. Eğer dosyanın sadece belirli bir kısmını okumak istiyorsanız, read(size) metodunu kullanabilirsiniz. Bu metod, verilen boyut kadar veriyi okur. Örneğin:

f = open("example.txt", "r")
content = f.read(10)
print(content)
f.close()

Bu kod parçası “example.txt” isimli dosyasının ilk 10 karakterini okur ve ekrana yazdırır.

Eğer dosyada satır satır veri okumak istiyorsanız readline() metodunu kullanabilirsiniz. Bu metod, dosyadaki bir satırı okur ve okunan veriyi bir değişkene atar. Örnek :

f = open("example.txt", "r")
content = f.readline()
print(content)
f.close()

readlines() metodu ise, dosyadaki tüm satırları okur ve okunan verileri bir liste olarak döndürür. Örnek :

f = open("example.txt", "r")
content = f.readlines()
print(content)
f.close()

Dosyaları okurken with bloğu kullanarak dosyayı otomatik olarak kapatabilirsiniz. Örnek :

with open("example.txt", "r") as f:
    content = f.read()
    print(content)

Bu yöntem, dosya kapatma işlemini unutmamanızı sağlar ve hata durumlarında dosya kapatılmış olmasını garanti eder.

Dosya Silme

Python’da dosya silmek için os modülünün remove() fonksiyonu kullanılır. Bu fonksiyon, verilen dosya adını alır ve dosyayı siler. Örneğin:

import os

os.remove("example.txt")

Bu kod parçası, “example.txt” isimli dosyayı siler.

Eğer dosya mevcut değilse, bir FileNotFoundError oluşur. Bu hatayı önlemek için, dosya varlığını kontrol etmeli ve dosya mevcutsa silinmelidir. Örnek :

import os

if os.path.exists("example.txt"):
    os.remove("example.txt")
else:
    print("The file does not exist.")

Ayrıca, klasörleri silmek için os.rmdir() ve klasörün içeriği ile birlikte silmek için shutil.rmtree() metodunu kullanabilirsiniz.

Ek olarak, silinmesi istenen dosya veya klasörün izinleri kontrol edilmelidir, çünkü silme işlemi yalnızca yetkili kullanıcılar tarafından gerçekleştirilebilir.

Dosya Metotları

Python’da dosyalar için kullanabileceğiniz temel metotlar şunlardır:

  1. open() : Bu metod, dosyayı belirtilen modda açar.
  2. write() : Bu metod, dosyaya verilen argümanı yazar.
  3. read() : Bu metod, dosyanın içeriğini okur ve okunan veriyi bir değişkene atar.
  4. readline() : Bu metod, dosyadaki bir satırı okur ve okunan veriyi bir değişkene atar.
  5. readlines() : Bu metod, dosyadaki tüm satırları okur ve okunan verileri bir liste olarak döndürür.
  6. close() : Bu metod, dosyayı kapatır.
  7. seek() : Bu metod, dosyada okuma/yazma işlemleri yapmak için belirli bir konuma gitmek için kullanılır.
  8. tell() : Bu metod, dosyada bulunulan konumu verir.
  9. truncate() : Bu metod, dosyanın içeriğini belirli bir boyuta kadar keser.
  10. with open() : Bu metod, dosyayı belirtilen modda açar ve dosya kapatma işlemi otomatik olarak gerçekleştirir.
  11. os.remove(): Bu metod, dosya silme işlemi için kullanılır.
  12. os.rename() : Bu metod, dosya veya klasörün adını değiştirir.
  13. os.stat() : Bu metod, dosya veya klasör hakkında bilgi döndürür. Örneğin, dosya boyutu, değiştirilme tarihi vb.
  14. os.path.exists() : Bu metod, dosyanın veya klasörün varlığını kontrol eder.
  15. os.path.isdir() : Bu metod, verilen yolun bir klasör olup olmadığını kontrol eder.
  16. os.path.isfile() : Bu metod, verilen yolun bir dosya olup olmadığını kontrol eder.
  17. os.mkdir() : Bu metod, belirtilen yolda yeni bir klasör oluşturur.
  18. os.rmdir() : Bu metod, belirtilen klasörü siler.
  19. shutil.copy() : Bu metod, dosya veya klasörün bir kopyasını oluşturur

Arkadaşlar bu Python Dosya İşlemleri adlı yazımızın da sonuna gelmiş bulunmaktayız. Umarım faydalı olmuştur.

0 0 votes
Article Rating
Subscribe
Bildir
guest

0 Yorum
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x