Normalde bilgisayarımızda birçok dosya işlemleri yaparız. Bu işlemleri python programlama dili kullanarak da yapabiliriz.
Bilgisayarımızda dosya açabilir, oluşturabilir veya bu dosyaları silebiliriz. (Aynı zamanda klasörler için de bu geçerlidir.

Normalde bilgisayarımızda bir dosya oluşturmak için bilgisayarımızın masaüstünde sağ tıklayıp Yeni>Metin Belgesi diyerek yeni bir metin belgesi dosyası oluşturabiliriz.

Metin belgelerinin uzantısı .txt dir.
Burada istediğimiz ismi verip dosyayı oluşturduktan sonra dosyanın içini açıp istediğimiz yazıyı yazarız ve son olarak da dosyayı kapatırız.

Bu işlemi python dilini kullanarak da yapabiliriz. Bunun için kullanılan kod aşağıdadır.
dosya=open("ahmet.txt","w") dosya.write("Merhaba ben dosyanın içindeki yazıyım.") dosya.close()
Bu aşamada python dosyasını nerde çalıştırdıysak oraya ahmet.txt adında dosya oluşturur.
Buradaki kodları satır satır açıklarsak
- satır ahmet.txt adında dosyayı yazmak için(w) eğer varsa açar yoksa oluşturur.
- satır dosyanın içine “Merhaba ben dosyanın içindeki yazıyım” yazar.
- satır dosyayı kapatır.
Eğer dosya oluştururken veya okurken Türkçe karakter sorunu yaşarsanız dosya açma işlemini şu şekilde yapabilirsiniz.

dosya=open("ahmet.txt","w", encoding="utf8") dosya.write("Merhaba ben dosyanın içindeki yazıyım.") dosya.close()
Bu defa open fonksiyonununa encoding=”utf8″ değerini ekledik.
Dosya yazma işlemini istersek print() fonksiyonunu kullanarak da yapabiliriz. Bunun için aşağıdaki yöntemi kullanabiliriz.
dosya=open("selam.txt","w", encoding="utf8") print("selam dostlar",file=dosya) dosya.close()
Daha önce oluşturulmuş dosyayı okumak için bu fa open fonksiyonunu okuma modunda(read-r) açmamız gerekiyor.
dosya=open("ahmet.txt","r", encoding="utf8") for satir in dosya: print(satir) dosya.close()
Kodlarımızı anlatırsak:
- satır dosyayı yazma modunda açar(r)
- satır for döngüsü kullanılarak dosya satır satır okunur ve ekrana yazılır
- satır ekrana yazdır.
- satır dosyayı kapat
Biraz daha kısa yazmak için şu şekilde kodlarımızı yazabiliriz.
for satir in open('ahmet.txt', 'r',encoding="utf8"): print(satir)
Dosya okuma işlemini with …. as komutu ile de yapabiliriz. Örnek kullanımı
with open('ahmet.txt', 'r') as dosya: for satir in dosya: print(satir)
NOT: Bütün dosya modları
- ‘r’ modu: Dosyayı sadece okumak için açar. Bu mod varsayılan moddur.
- ‘r+’ modu: Dosyayı hem okumak hem de yazmak için açar. Eğer çağrılan dosya bulunamadıysa yeni bir dosya oluşturulmaz.
- ‘w’ modu: Dosyayı sadece yazmak için açar. Varolan dosyanın üzerine yazma işlemini yapar. Eğer çağrılan dosya bulunamadıysa yeni bir dosya oluşturur.
- ‘w+’ modu: Dosyayı hem okumak hem de yazmak için açar. Varolan dosyanın üzerine yazma işlemini yapar. Eğer çağrılan dosya bulunamadıysa yeni bir dosya oluşturur.
- ‘a’ modu: Dosyayı ekleme işlemi için açar. Eğer çağrılan dosya bulunursa, en sonundan eklemeye devam eder. Eğer dosya yoksa sadece yazma işlemi yapacak yeni bir dosya oluşturur.
- ‘a+’ modu: Dosyayı hem ekleme hem de okuma işlemi için açar. Eğer çağrılan dosya bulunursa, en sonundan eklemeye devam eder. Eğer dosya yoksa yazma ve okuma işlemleri yapacak yeni bir dosya oluşturur.
Kaynaklar:
Sorularla Python Öğreniyorum Kitabı (Hakan YALÇINKAYA, Ercan BOZKURT)
https://python-istihza.yazbel.com/temel_dosya_islemleri.html
https://caylakyazilimci.com/post/python-dosya-islemleri