read ve readline
- Python kursu
- Orta seviye
- Ders 65/116
- 4 dk
read ve readline ile okumayı öğrenirsin.
read tüm içeriği verir
Dosya nesnesinin read() metodu dosyanın tüm içeriğini tek bir dize olarak döndürür. read(10) gibi bir sayı verirsen yalnızca ilk 10 karakteri okur. Büyük dosyalarda tüm içeriği bir anda belleğe yüklemek sorun olabilir; bu durumda parça parça okuma tercih edilir.
readline() ise her çağrıda bir satır döndürür. Satır sonundaki \n işaretini de içerir; son satırda bu işaret olmayabilir. Boş dize döndüğünde dosya sonuna gelmiş olursun.
readlines ile satır listesi
readlines() metodu dosyadaki tüm satırları bir liste olarak döndürür. Her öğe bir satırdır ve sonlarında \n bulunur. Satır sayısını len(lines) ile alabilirsin.
Bu metod küçük ve orta boy dosyalarda kullanışlıdır. Çok büyük dosyalarda belleği doldurabilir; bu durumda for line in f: döngüsü her satırı tek tek gezer ve belleği yormaz.
Uygulama İki satır yaz, readlines ile oku
Bir dosyayı yazma modunda aç: f = open("cift.txt", "w", encoding="utf-8"). İçine f.write("Birinci satır\nİkinci satır") yaz ve kapat. Sonra okuma modunda aç ve lines = f.readlines() ile satırları al. print(len(lines)) ile satır sayısını yazdır ve kapat.
Başlangıç kodu
# Dosyaya iki satır yaz ve kapat
# Yeniden aç, readlines ile satırları al, sayıyı yazdırÖrnek çözüm
# Dosyaya iki satır yaz ve kapat
f = open("cift.txt", "w", encoding="utf-8")
f.write("Birinci satır\nİkinci satır")
f.close()
# Yeniden aç, readlines ile satırları al, sayıyı yazdır
f = open("cift.txt", "r", encoding="utf-8")
lines = f.readlines()
print(len(lines))
f.close()Beklenen çıktı
2
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 read metodu çağrısı
f = open("notlar.txt", encoding="utf-8")
content = f.____()
print(content)
f = open("notlar.txt", encoding="utf-8")
content = f.read()
print(content)
Açıklama: read() tüm içeriği tek dize olarak döndürür.
2 readline() dosya sonunda ne döndürür?
- Son satırı tekrar döndürür
- Hata fırlatır
- Boş dize döndürür Doğru cevap
- None değeri döndürür
Açıklama: Dosya sonuna gelindiğinde readline() boş dize ("") döndürür.
3 Okuma metotlarını eşleştir
| Kavram | Anlamı |
|---|---|
read |
Tüm içeriği verir |
readline |
Tek bir satır verir |
readlines |
Satır listesi verir |
close |
Dosyayı kapatır |