Python'da Dosyalar Nasıl Okunur ve Yazılır

Dosyalardan okuma ve dosyalara yazma, programlamada yaygın bir görevdir ve Python, yerleşik dosya işleme yetenekleriyle bunu kolaylaştırır. Dosyalarla nasıl çalışılacağını anlamak, veri depolama, günlük kaydı, yapılandırma yönetimi ve daha fazlasını yönetmenizi sağladığı için her Python programcısı için önemlidir. Bu kılavuz, Python'da dosyaların nasıl açılacağını, okunacağını, yazılacağını ve kapatılacağını ve ayrıca farklı dosya modlarının nasıl işleneceğini ele alacaktır.

Dosyaları Açma ve Kapatma

Python'da bir dosyayı açmak için open() fonksiyonunu kullanırsınız. open() fonksiyonu, okuma ve yazma için yöntemler sağlayan bir dosya nesnesi döndürür. Sistem kaynaklarını serbest bırakmak için close() metodunu kullanarak işiniz bittikten sonra bir dosyayı kapatmak önemlidir.

# Opening and closing a file
file = open("example.txt", "r")  # Open file for reading
# Perform file operations
file.close()  # Close the file

Dosyaları Okuma

Python'da bir dosyanın içeriğini okumanın ihtiyaçlarınıza bağlı olarak birkaç yolu vardır:

Tüm Dosyayı Oku

read() metodu dosyanın tüm içeriğini tek bir dizeye okur.

# Reading the entire file
with open("example.txt", "r") as file:
    content = file.read()
    print(content)

Bir Dosyanın Satırlarını Oku

readline() metodu dosyadan bir satır okurken, readlines() metodu tüm satırları okur ve bunları bir liste olarak döndürür.

# Reading lines using readline()
with open("example.txt", "r") as file:
    line = file.readline()
    while line:
        print(line.strip())
        line = file.readline()

# Reading all lines using readlines()
with open("example.txt", "r") as file:
    lines = file.readlines()
    for line in lines:
        print(line.strip())

Dosyaları Satır Satır Okuma

Bir dosyayı satır satır okumak için tercih edilen yöntem, doğrudan dosya nesnesi üzerinde bir for döngüsü kullanmaktır. Bu yaklaşım, özellikle büyük dosyalar için bellek açısından verimlidir.

# Reading file line by line using a for loop
with open("example.txt", "r") as file:
    for line in file:
        print(line.strip())

Dosyalara Yazma

Python, write() ve writelines() yöntemlerini kullanarak dosyalara yazmanıza olanak tanır. Dosyayı, 'w' (yazma) veya 'a' (ekleme) gibi yazmayı destekleyen bir modda açmanız gerekir.

Bir Dosyaya Yazma

write() yöntemi bir dosyaya tek bir dize yazar. Bir dosyayı 'w' yazma modunda açmak yeni bir dosya oluşturur veya var olan bir dosyanın üzerine yazar.

# Writing to a file
with open("output.txt", "w") as file:
    file.write("Hello, World!\n")
    file.write("This is a new line.")

Bir Dosyaya Ekleme

Bir dosyayı 'a' ekleme modunda açmak, var olan bir dosyanın içeriğini üzerine yazmadan sonuna içerik eklemenize olanak tanır.

# Appending to a file
with open("output.txt", "a") as file:
    file.write("\nThis line is appended.")

Birden Fazla Satır Yazma

writelines() yöntemi bir dosyaya birden fazla satır yazmak için kullanılır. Her biri bir satırı temsil eden bir dizi dize bekler.

# Writing multiple lines to a file
lines = ["Line 1\n", "Line 2\n", "Line 3\n"]
with open("output.txt", "w") as file:
    file.writelines(lines)

Dosya Modları

Python'un open() fonksiyonu dosyaları açmak için çeşitli modları destekler:

  • 'r' - Okuma modu (varsayılan). Okuma için bir dosya açar.
  • 'w' - Yazma modu. Yazma için bir dosya açar (yeni bir dosya oluşturur veya mevcut bir dosyayı keser).
  • 'a' - Ekleme modu. Ekleme için bir dosya açar (eğer yoksa yeni bir dosya oluşturur).
  • 'r+' - Okuma ve yazma modu. Hem okuma hem de yazma için bir dosya açar.
  • 'b' - İkili mod. Bir dosyayı ikili modda açar ('rb', 'wb', vb. ile kullanılır).

Çözüm

Python'da dosyalardan okuma ve yazma, temel kavramları ve dosya modlarını anladığınızda basittir. Dosya işleme konusunda uzmanlaşarak, verileri verimli bir şekilde yönetebilir, kullanıcı giriş/çıkışını idare edebilir ve dosya işlemlerini içeren görevleri otomatikleştirebilirsiniz. Python'da dosya yönetiminde uzmanlaşmak için bu teknikleri kullanma pratiği yapın.