Python Dosya İşlemleri | (PYTHON FILE)

Python Dosya İşlemleri | (PYTHON FILE)

Tarhi : 27-01-2022 07:20:24 | Yazar : ÇAĞLAR BOSTANCI

Merhaba, bu konuda sizlere python dosya işlemleri hakkında bilgil paylaşımı yapacağım. Bildiğiniz gibi C programlama dili başta olmak üzere bir çok programlam dililnde dosya işlemler sık olarak kullanılmaktadır. Bizlerde şimdi bu python dosya işlemlerini öğrenelim. Pythonda bir dosya işlemleri f = open(dosya_yolu-adi,islemKipi) fonksiyonu ile yürütülmektedir. Bu fonkisyon ile dosyaları açıp okuma ve yazma işlemleri yapmaktayız.

Python open() Fonksiyonu Kullanımı

Python’da bir fonksiyonu okumak ve yazmak için open() fonksiyonu kullanılmaktadır. Bu fonksiyon ile var olan dosya açılır, eğer dosya yoksa oluşturulur.

Bu komut ile olmayan bir dosyayı aynı dizine oluşturduk. İkinci parametre olarak kullanılan “w” parametresi değeri ise dosyayı yazmak için açıtığımızı belirttik.

Python Dosyaya Veri Yazma

Oluşturmuş oldumuz dosyları bir çok amaç ile kullanmaktayız. Aynı zamanda bir çok uzantıda (.html .xml .jpg) gibi bir çok dosya oluşturabilir ve bu dosyaları dinamik olarak yayınlayabiliriz. Yine sunucu gerisinde veritabanı olarakta kullanabiliriz. “deneme.txt” dosyamıza bir şeyler yazalım.

Bu komut ile yazılacak olan dosyamızı open() fonsiyonu ile açtık ve .write() fonkisyonumuz ile içersine verilerimizi yazdık. Yazma işleminin tamamlanması için .close() fonksiyonunu kullanmamız gerekmetedir. Daha sonra dosyay açıp baktığınızda dosya içerisine ilgli verinin yazılmış olduğunu göreceğiz.

Pekiştirmek adını elimizde bulunan bir listeyi dosyaya yazdıralım.

Yukarıdaki kodlardan da anlaşılacağı gibi deneme.txt dosyasına oluşturmuş olan bir liste döngüye sokularak tek bir değişkende toplanmış ve tek seferde yazılmıştır.

Python Dosya Okuma(.read() Fonksiyon Kullanımı)

Python’da, bir dosyayı okumak için .read() fonksiyonu kullanılmaktadır. Bu fonksiyonu kullanmakdan önce open() ile dosyanın açılması gerekmetedir. Bu sayede açılan dosyayı okuyabilirsiniz. Burada dikkat edilmesi gereken önemli hususlardan biri open(“dosya.txt”,”w”) fonksiyonunu yazdamk için ikinci parametre olarak “w” kullanılırken okumak için “r” parametresi verilmelidir. Şimdi yazmış olduğumuz dosyayı okuyaara ekrana çıktı verelim.

Yukardaki kod satırlarıyla deneme.txt dosyasını bir seferde okuyarak ekrana çıktı vermiş bulunuyoruz.

Python readLine() Fonksiyonu Kullanımı

Python readLine() fonksiyonu dosyadaki verileri satır satır okumanızı sağlamaktadır. Bu sayede dosyayı bir sederde bütün datayı olıp aramak yapmaktansa satır satır ilerleyerek arama yapılabilmektedir.

Python Readlines() Fonksiyonu Kullanımı

Python readlines() fonksiyonu ile dosyadaki bütün verileri satırlarına bölerek bize bir dizi olarak verir. Bu sayede bu diziyi döngüye sokarak istedğimiz datanın taramasını yapabiliriz.

readlines() fonksiyonu ile gelen dizi sayesinde kullanım kolaylığı olmaktadır. Eğer istersek bu liste’yi döngüye sokarak ekarana basabiliriz.

Python try-except-finali-with Fonksiyonuları İle Dosya Okuma İşlemleri

Python’da ve diğer programlama dillerindende bileceğiniz gibi “try” bloğu içersinde bir hata oluştuğunuda except alanı çalışacak ve bu ihtmal doğrultusunda yapıması gerekenleri yaparak finally ile hata olsun veya olmasın yapılacak kodları burda yazıyoruz. Tabi bizler bir dosyayı açtığımızda oluşacak bir hata sonrası dosyayı kapatmak isteyeceğiz tyr-except-finally kullanılmadan hatasonrasınd dosyayı kapatamazsınız. Bu gibi durumlarda bizler finally kısmında dosyayı kapatıyoruz. Bu sayede olası işlemleri yaparken bir hata oluştuğunda except’den sonra finally çalışacak ve dosyayı sonrunsuz bir şekilde kapatabileceğiz.

Yukarıdaki kod bloğunda raise Exception() fonksiyonu ile bir hata tanımlaması yaptık. Hatamız except alanında mesaj olarak ekrana basılırken, finally kısmı ilede açmış olduğumuz dosyayı kapatmış olduk. Bu kullanım önerilen bir kullanımdır. Tanımlı kullanım sayesinde kaynaklar gereksiz bir şekilde kullanılmasının önene geçilmiş oluyor.

Python seek() Fonksiyonu Kullanımı

Python seek() komutu dosya işlemlerinde kullanılmaktadır. Dosya içeriğini okuma işlemi yapıldıktan sonra imleç satır sonuna taşınmaktadır. Tekrar veri okunmak istendiğinde data gelemekmektedir. Bunu sebebi ilk okuma işleminden sonra imlecin sonda kalmış olmasıdır. Eğer imleç seek() komutu ile tekrar başa alınırsa okuma işlemi tekrardan sağlancaktır.

Python seek() fonksiyonunda parametre verilmelidir. Eğer 0 parametre olarak gönderilirse code.seek(0) imleç 0 byt sonrasına yani en başa alınrı.

Python tell() Fonksiyonu Kullanımı (Ptyhon Dosya Boyutu Öğrenme)

Python tell() fonskiyonu dosya okuma işlemi yapılırken o anki satırın dosyanın kaçıncı byt’ında olduğunu öğrenmek için kullanıyoruz. Bu sayede dosya içersinde ekleme ve güncelleme yapacağımızaman dosyada kaç byt sonrasına ekliyeceğimizi öğrenmiş oluyoruz.

Yukarıda deneme.txt dosyasını açıtık ve readline() fonsiyonu ile bir satır okuduktan sonra tekrar imlecin bulunduğu yere kadar olan dosya boyutunu öğrendik

Python Dosya Başına-Ortasına-Sonuna Veri Ekleme

Pythonda dosya işlemleri yaparken dosya başına, ortasına ve sonuna veri ekleme gereksinimi duyabilirsiniz. Bu gibi durumlarda neler yapmanız gerektiğini aşağıdaki örnek uygulamlarla bakalım.

Dosya sonun veri eklemek istersek open(“deneme.txt” “a”) open parametresinin ikinci alanına “a” yazmalısınız bu sayede yazacağınız veriler dosyanın sonuna eklenecek ve var olan ver silinmeyecektir.

Dosyanın sonu “Hilmi Kılıç”ı eklemiş olduk.

Şimdiyse sayfanın başına ekleme yapalım. Python open(“deneme.txt”,”r+”) fonksiyonuna ikinci parametre değeri olarak “r+” veriyoruz. Bu sayede dosyayı hem okumak hemde yazmak için açtığımızı belirtiyoruz.

Dosya sonuna ve vaşına veri işlemeyi öğrendik şimdi ise satır arasıa veri eklemeyi öğreneleim. Yine dosyamızı “r+” okuma ve yazama amacıyla açacağız. Verileri bir dizi olarak readlines() fonksiyonu ile lite haline getirdiğimiz verilere insert() fonksiyonu ile yeni verimizi listeye ekleyip writelinse() metodu ile tekrar vermiz dosyamıza yazıyoruz.

Python truncate() Fonksiyonu Kullanımı

Python truncate() fonksiyonu ile dosyanın belirli bir byte boyutuna düşürmeyi sağlıyor. Parametre olarak istenilen byte boyutunu girebilirsiniz. Eğer parametre kullanmazsanız dosya içersindeki bütün veriler sıfırlanacaktır.

Python mode() Fonksiyonu Kullanımı

Python mdoe() fonskiyonu açılan dosyanın hangi kipte açıldığı bilgilsini almak için kullanılmaktadır.

Bu fonksiyon sayesinde dosyamızın “r+” kiptinde açıldığını öğrendik

Python name Fonsiyonu Kullanımı

Herhangi bir maksat ile açtığımız dosyanın adını öğrenmemize yarıyor.

Python encoding Fonksiyonu Kullanımı

Python’da açılan bir dosyanın karakter kodlamasını görememizi sağlamaktadır.

Python Dosya Erişim Kipleri

Php dosya erişim kiplerindende hatırlıyor olcağız ki Python’da da dosya erişim kipleri mevcut. Bu kipler dosyaları hangi amaçla açtığınızın belirtildiği kiplerdir. Bu kipleri yetkisi dışında kullanılmaya çalışıldığında yani okuma kip “r” yazama olarak “w” kullanıldığında hata mesajı alacaksınızdır.

“r” Dosyayı okumak için kullanılan kip. Bu kip kullanıldığında dosyanın hali hazırda var olması gerekmektedir. Aksi halde hata mesajı alacaksınızdır. Dosya açma kipi belirtilmedinğinde varsayılan kip olarak belirlenir.
“w” Dosyayı yazmak amaçlı kullanılan kiptir. Bu kipte dosya içersindeki veriler silinerek yerine yeni veri kaydedilir.
“a” Bu kip dosyayı yazma yetkisi ile açacak, var olan veriyi silmeden sonuna yeni veriyi ekleyecektir.
“x” Bu kip Python dosya işlemlerinde dosyayı yazamak için açacaktır. Dosya daha önce oluşturulmuşsa ekrana hata mesajı verecektir.
“r+” Dosyayı yazma ve okuma maksadıla açar. Dikkat edilmesi gereken durum dosyanın daha önce oluşturulmuş olması gerekmektedir.
“w+” Dosya yazma ve okuma işlemi yetkisi ile açılır eğer dosya mecutsa içersindeki verisi silinir eğer dosya mevcut değilse dosya tekrardan oluşturulur.
“a+” Dosyayı okuma ve yazma yetikisi ile açar. Dosya mecutsa içeriğine dokunmadan sonuna yeni veriyi ekler. Dosya mecut değilse yeniden oluşturulur.
“x+” Dosya okuma ve yazma yetkisiyle açılır. Dosya mevcutsa ekrana hata mesajı verilir. Dosya mevcut değilse dosya tekrardan oluşturulur.