Bu bölümde Python programlama dilinde metin dosyası açma, okuma, yazma ve silme işlemlerinin nasıl yapılacağını öğreneceksiniz.
Python Dosya Açma
Dosya işleme, herhangi bir programlama dilinin önemli bir parçasıdır.
Python, dosyaları oluşturmak, okumak, güncellemek ve silmek için çeşitli işlevlere sahiptir.
Dosya yönetimi
Python’da dosyalarla çalışmanın temel işlevi open () işlevidir.
Open () işlevi iki parametre alır; filename ve mode.
Bir dosyayı açmak için dört farklı yöntem (mode) vardır:
“r” – Oku – Varsayılan değer. Okumak için bir dosya açar, dosya yoksa hata
“a” – Ekle – Eklemek için bir dosya açar, yoksa dosyayı oluşturur
“w” – Yaz – Yazmak için bir dosya açar, yoksa dosyayı oluşturur
“x” – Oluştur – Belirtilen dosyayı oluşturur, dosya varsa bir hata döndürür.
Ek olarak, dosyanın binary mod mu yoksa metin modu olarak mı işleneceğini belirtebilirsiniz.
“t” – Metin – Varsayılan değer. Metin modu
“b” – Binary- Binary mod (ör. resimler)
Sözdizimi
Bir dosyayı okumak üzere açmak için dosyanın adını belirtmeniz yeterlidir:
Örnek:
1 2 3 | f = open("demofile.txt") |
Yukarıdaki kod şununla aynıdır:
1 2 3 | f = open("demofile.txt", "rt") |
Okuma için “r” ve metin için “t” varsayılan değerler olduğundan, bunları belirtmenize gerek yoktur.
Not: Dosyanın var olduğundan emin olun, aksi takdirde bir hata alırsınız.
Python Dosya Okuma
Python ile aynı klasörde bulunan aşağıdaki dosyaya sahip olduğumuzu varsayalım:
Dosyayı açmak için yerleşik open () fonksiyonunu kullanın.
Open () fonksiyonu, dosyanın içeriğini okumak için bir read () yöntemine sahip bir file nesnesi döndürür.
Örnek:
1 2 3 4 5 | f = open("demofile.txt", "r") print(f.read()) |
Dosya farklı bir konumda bulunuyorsa, aşağıdaki gibi dosya yolunu belirtmeniz gerekecektir.
1 2 3 4 | f = open("D:\\myfiles\welcome.txt", "r") print(f.read()) |
Dosyanın Sadece Bölümlerini Oku
Varsayılan olarak read () yöntemi tüm metni döndürür, ancak aynı zamanda kaç karakter döndürmek istediğinizi de belirtebilirsiniz.
Örnek: Belirtilen dosyadan sadece 5 karakter geri döndürecektir.
1 2 3 4 | f = open("demofile.txt", "r") print(f.read(5)) |
Satırları Oku
Readline () yöntemini kullanarak bir satır döndürebilirsiniz:
Örnek: Dosyadan bir satır okuyalım.
1 2 3 4 | f = open("demofile.txt", "r") print(f.readline()) |
Readline () öğesini iki kez çağırarak, ilk iki satırı okuyabilirsiniz:
1 2 3 4 5 | f = open("demofile.txt", "r") print(f.readline()) print(f.readline()) |
Bu şekilde tüm satırları okumak kolay olmayacağından dosyanın satırları arasında döngü yaparak, tüm dosyayı satır satır okuyabilirsiniz:
1 2 3 4 5 | f = open("demofile.txt", "r") for x in f: print(x) |
Dosyaları Kapat
İşiniz bittiğinde dosyayı her zaman kapatmak iyi bir uygulamadır.
1 2 3 4 5 | f = open("demofile.txt", "r") print(f.readline()) f.close() |
Not: Dosyalarınızı her zaman kapatmalısınız, bazı durumlarda arabelleğe alma nedeniyle dosyada yapılan değişiklikler siz dosyayı kapatana kadar gösterilmeyebilir.
Python Dosyaya Yazma
Mevcut bir dosyaya yazmak için open () işlevine bir parametre eklemelisiniz:
“a” – Ekle – dosyanın sonuna eklenir
“w” – Yaz – mevcut içeriğin üzerine yazacak.
Örnek : “Demofile2.txt” dosyasını açın ve dosyaya içerik ekleyin.
1 2 3 4 5 6 7 8 9 | f = open("demofile2.txt", "a") f.write("Artık dosyada daha fazla içerik var!") f.close() #ekledikten sonra dosyayı açın ve okuyun: f = open("demofile2.txt", "r") print(f.read()) |
Örnek : “Demofile3.txt” dosyasını açın ve içeriğin üzerine yazın:
1 2 3 4 5 6 7 8 9 | f = open("demofile3.txt", "w") f.write("İçeriği sildim!") f.close() #ekledikten sonra dosyayı açın ve okuyun. f = open("demofile3.txt", "r") print(f.read()) |
Not: “w” yöntemi tüm dosyanın üzerine yazacaktır.
Yeni Dosya Oluşturun
Python’da yeni bir dosya oluşturmak için aşağıdaki parametrelerden biriyle open () yöntemini kullanın:
“x” – Oluştur – bir dosya oluşturur, dosya varsa bir hata döndürür
“a” – Ekle – belirtilen dosya yoksa bir dosya oluşturur
“w” – Yaz – belirtilen dosya yoksa bir dosya oluşturur
“Myfile.txt” adlı bir dosya oluşturun:
1 2 3 | f = open("myfile.txt", "x") |
Yukarıdaki kod satırı sonucu yeni boş bir dosya oluşturuldu.
Mevcut değilse yeni bir dosya oluşturun:
1 2 3 | f = open("myfile.txt", "w") |
Python Dosyaları Silme
Bir dosyayı silmek için, “os” modülünü içe aktarmanız ve os.remove () işlevini çalıştırmanız gerekir:
Örnek: demofile.txt dosyasını silelim.
1 2 3 4 | import os os.remove("demofile.txt") |
Dosyanın var olup olmadığını kontrol edin:
Hata almamak için, silmeyi denemeden önce dosyanın var olup olmadığını kontrol etmek isteyebilirsiniz:
1 2 3 4 5 6 7 | import os if os.path.exists("demofile.txt"): os.remove("demofile.txt") else: print("Dosya mevcut değil.") |
Klasörü Sil
Bir klasörün tamamını silmek için os.rmdir () fonksiyonunu kullanın.
1 2 3 4 | import os os.rmdir("myfolder") |
Not: Yalnızca boş klasörleri kaldırabilirsiniz. Yani tüm dosyalar silindikten sonra bu kod kullanılarak klasör silme işlemi tamamlanacaktır.