Dosya içinde okuma yaparken fare imlecinin konumu önemlidir. Okuma fare imlecinin olduğu yerden başlar.
Aşağıdaki örnekte dosya okuma işlemi open() ile açılacağından okuma dosyanın başından başlar ve sonuna kadar gider.
with open("yeniDosya.txt","r",encoding="utf-8") as dosya:
icerik = dosya.read()
print(icerik)
Bu örnekte seek() metotu ile fare imlecinin yeri değiştirilir ve okuma fare imlecinin alındığı yerden başlar.
with open("yeniDosya.txt","r",encoding="utf-8") as dosya:
dosya.seek(5) # Fare imleci 5. karakterin olduğu yere alınır ve okuma oradan başlar. Baştaki 5 karakter okunmaz.
# dosya.seek(0) # Değerin 0 olması fare imlecini başa götürür.
print(dosya.tell()) # Fare imlecinin bulunduğu konumu verir.
icerik = dosya.read()
print(icerik)
readline() Metodu
readline() metotu dosya içinde bulunan verileri satır satır okur.
with open("yeniDosya.txt","r",encoding="utf-8") as dosya:
dosya.seek(0)
icerik = dosya.readline() # Bütün satırı okur.
#icerik = dosya.readline(5) # Satıları 5'er karakter olarak okur.
print(icerik)
readlines() Metodu
readlines() metotu dosya içinde bulunan bütün satırları satırlarından ayırarak bir liste halinde verir.
with open("yeniDosya.txt","r",encoding="utf-8") as dosya:
icerik = dosya.readlines() # Bütün satırları bir liste halinde verir.
print(icerik)
Aşağıdaki örnek for döngüsü kullanarak bütün satırları teker teker okur.
with open("yeniDosya.txt","r",encoding="utf-8") as dosya:
icerikler = dosya.readlines()
for icerik in icerikler:
print(icerik)
Yukarıdaki örnek ile aynı işi yapar. readline() veya readlines() metotları kullanmamıza gerek kalmaz.
with open("yeniDosya.txt","r",encoding="utf-8") as dosya:
for dosya in icerikler:
print(dosya,end="") # end => Okunan veriler arasındaki satır boşluğunu siler.
Closed Methodu
Dosyanın kapalı olup olmadığını kontrol eder.
with open("yeniDosya.txt","r",encoding="utf-8") as dosya:
print(dosya.closed)
print(dosya.closed)
Dosya ile ilgili işlemlerimiz bittiğinde with kullanmadığımız durumlarda açılan dosyaların close() metotu ile kapatılması gerekiyor.
Diğer Metotlar
with open("yeniDosya.txt","r",encoding="utf-8") as dosya:
print(dosya.name) # Dosyanın ismini verir.
print(dosya.mode) # Dosyanın hangi modda açıldığını verir.
print(dosya.tell()) # Dosya içinde fare imlecinin konumunu verir.