Python Programlama Dili — Dosya İşlemleri
Arkadaşlar bu yazımızda Python’da nasıl bir dosya açıp içine bilgiler kayıt edebileceğinizi ve içerisinde bilgiler olan bir dosyayı nasıl…
Arkadaşlar bu yazımızda Python’da nasıl bir dosya açıp içine bilgiler kayıt edebileceğinizi ve içerisinde bilgiler olan bir dosyayı nasıl Python’da okuyabileceğinizi anlatacağım.
Python’da bir dosya üzerine bir şeyler yazmak veya okumak için önce açmamız lazım. Bunun için open() fonksiyonunu kullanacağız. Open() fonksiyonu 2 tane parametre alıyor. Birinci parametre dosya ismi , ikinci parametre modu. Genel itibariyle dosya işlemleri yaparken önce dosyayı açacağız sonra okuma veya yazma işlemlerini yapacağız , son olarak da dosyamızı kapatıyoruz. Dosyalar ile ilgili işlemimiz bittiğinde hemen kapatıyoruz. Açık kalması yer işgal edeceği için tercih ettiğimiz bir durum olmuyor. Hemen bir örnek dosya oluşturalım , içerisine bir şeyler yazalım ve kapatalım.
Gördüğünüz üzere ilk parametre olarak dosya ismini verdik. İkinci parametre olarak da “w” verdik. Bu “w” modu write kelimesinin kısaltmasıdır. Yani bu durumda Python bu isimde bir dosya olmasa bile oluşturup kaydediyor. Son olarak da bizim dosya içine yazacağımız yazıda Türkçe karakterler olduğu için encoding = “utf-8” ekledik.
Dosyamıza bir yazı yazdırmak için write() metodunu kullandık. İçerisine yazdığımız cümle txt dosyasına yazıldı ve bize çıktı olarak kaç karakter yazdığımız verildi (95). Sonrasında da yer kaplamasın diye hemen close() metodunu kullanarak kapattık.
Open() fonksiyonu kullanarak açtığımız dosyayı “w” modu ile açtığımız için , yeniden aynı kodu çalıştırdığımızda eski dosyayı siliyor ve yeni bir dosya oluşturuyor. Eski yazdığımız gidiyor. O yüzden biz “a” modunu kullanırsak böyle bir dosya varsa açıyor ve üzerine ekleme yapabiliyorsunuz. Zaten “a” modu İngilizce’de eklemek anlamına gelen append kelimesinin bir kısaltması. Bu isimde bir dosya varsa silip yenisini açmaz.
Burada “a” modu ile daha önce oluşturduğumuz bir dosyayı açtık ve içine bazı cümleler ekledik. Bir de “x” modu var. Bu modu kullandığınızda bu isimde bir dosya varsa hata verir. Bu isimde bir dosya olmaması lazım.
Dosyaları okumak için ise “r” modunu kullanıyoruz. “r” İngilizce’de okumak anlamına gelen read kelimesinin kısaltması. Eğer bu isimde bir dosya yoksa hata verir. İçerisinde ki satırları okumak için read() metodunu kullanıyoruz. Böyle bir dosyayı okumaya çalışalım
Read() metodu ile ikinci kez okumaya çalışınca imleç en sona geldiği için.çıktı olmayabilir. Aşağıdaki gibi boş çıktı gelir.
For döngüsü kullanarak da içeriği yazdırabiliriz.
Ayrıca readline() metodu ile de satır satır okuyabiliriz.
Birde readlines() metodu var. Bu metot ile de dosyanın içeriğini satır satır liste içine atıyor.
Şu ana kadar her açtığımız dosyayı biz kapattık. Aslında bunu yapmanın daha kolay bir yolu var. with open() … as file şeklinde bir blok kullanabiliriz. Bu durumda otomatik olarak iş bitince dosya kapanmış olacak.
Ayrıca seek() ve tell() metotlarını kullanarak dosya içinde hareket edebilirsiniz. Seek() metodu ile istediğiniz karakter sayısına gidebilir , tell() metodu ile de kaçıncı karakterde olduğunu öğrenebilirsiniz
Bu örnekte 25 karakter ilerledi ,sonra 37 karakteri yazdırdı. En son 62 nci karakterde olduğunu bize çıktı olarak verdi.
Seek() ve write() metotlarını kullanarak dosyanın istediğiniz yerine yazabilirsiniz
Ayrıca hem okuma hem de yazma yapmak için “+” kullanmalısınız.
”r+” modu kullanın hem okuma hem yazma için (Dosyanın var olması gerekir)
“w+” modu kullanın hem okuma hem yazma için (Dosya varsa siler)
“a+” modu ile de hem okuma hem yazma yapabilirsiniz (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.)
“x+” modu ile de yine hem okuma ve hem yazma yapabilirsiniz (Dosya yoksa hata verir.)
Dosyaların başında ,sonunda veya ortasında işlemler yapabilirsiniz.
Dosyanın sonuna yazmak için “a” modu ile açmamız ve write() kullanmanız lazım.
Dosyanın başına yazmak içinde dosya = “……” + dosya yapabiliriz.
Ortasına bir şey eklemek için readlines() kullanarak liste oluşturabilir ve insert() metodu ile ekleyebiliriz.
Listeyi dosyaya yazmak için ise writelines(liste) metodunu kullanabiliriz.
Bu yazımda Python’da dosya işlemlerini görmüş olduk. Bir sonraki yazıda görüşmek üzere …
Udemy platformunda şu an 18'den fazla İngilizce ve Türkçe kursum bulunmakta.Dünya genelinde 100.000'den fazla öğrenciye programlama, yazılım ve e-ticaret alanlarında eğitimler vermekteyim.
Udemy eğitimlerime Mehmet TEK — Udemy adresinden ulaşabilirsiniz.Görüşmek üzere …