Jump to content

Python

  • entries
    66
  • comments
    0
  • views
    25,548

Dosya İşlemleri


Doğuhan ELMA

218 views

Python'da dosya işlemleri, çeşitli dosya türlerini okuma, yazma ve düzenleme yeteneği sağlar. Bu, bir programın verileri kalıcı hale getirmesine olanak sağlar, çünkü veriler dosyaya yazıldığında, program sonlandığında bile veriler saklanmaya devam eder.

Python'da bir dosya açmak için open() yerleşik fonksiyonu kullanılır. Bu fonksiyon, dosyanın adını ve işlem modunu argüman olarak alır.

f = open('myfile.txt', 'w')

Yukarıdaki kod, 'myfile.txt' adlı bir dosyayı yazma modunda ('w') açar. Dosya varsa, içeriği silinir. Dosya yoksa, yeni bir dosya oluşturulur. Açılan dosyanın bir referansı f adlı değişkene atanır.

Bir dosyaya yazmak için write() metodu kullanılır:

f.write("Hello, world!")

Bir dosyayı okumak için, 'r' modunda açabiliriz:

f = open('myfile.txt', 'r')
content = f.read()

Bir dosya işlemi bittikten sonra, dosyayı kapatmak önemlidir. Bunu close() metodu ile yapabiliriz:

f.close()

Python'da dosya işlemleri yaparken genellikle with anahtar kelimesi kullanılır. with bloğu, işlem tamamlandığında dosyanın otomatik olarak kapatılmasını sağlar:

with open('myfile.txt', 'r') as f:
    content = f.read()
# Bu noktada, f dosyası otomatik olarak kapatılır.

 

Bu, dosyaları işlerken en iyi uygulama olarak kabul edilir, çünkü bu sayede dosyanın her zaman düzgün bir şekilde kapatıldığından emin olabiliriz. Dosyanın kapatılmaması, veri kaybına veya diğer sorunlara neden olabilir.

Not: Dosyaların konumlarına dikkat etmek önemlidir. Eğer dosya belirtilen konumda bulunmazsa, Python bir hata verecektir. Dosyanın konumunu belirtmek için ya tam yol kullanılmalı ya da dosyanın Python dosyası ile aynı dizinde bulunması gerekmektedir.

Python'da dosya işlemleri için kullanılan bazı yerleşik fonksiyonlar ve metotlar aşağıda listelenmiştir:

open(file, mode): Bu fonksiyon, belirtilen modda bir dosya açar. Modlar okuma ('r'), yazma ('w'), ekleme ('a') veya hem okuma hem yazma ('r+') olabilir.

file.close(): Açık olan dosyayı kapatır.

file.read(size): Dosyadan belirli bir boyutta veri okur. Boyut belirtilmezse, tüm dosyayı okur.

file.readline(): Dosyadan bir satır okur.

file.readlines(): Dosyadan tüm satırları okur ve bunları bir liste olarak döndürür.

file.write(string): Belirtilen string'i dosyaya yazar.

file.writelines(list): Bir liste elemanlarını dosyaya yazar.

file.seek(offset): Dosya imlecini belirtilen offset'e (konuma) taşır.

file.tell(): Dosya imlecinin bulunduğu konumu döndürür.

Python, dosya işlemlerini gerçekleştirirken otomatik hata işleme sağlar ve bir dosya işlemi sırasında bir hata oluşursa bir hata mesajı döndürür.

Ayrıca Python, dosyalarla etkileşim kurmak için 'os' ve 'shutil' gibi bazı yerleşik modüllere sahiptir. Bu modüller, dosyaları ve dizinleri yeniden adlandırma, silme, kopyalama gibi daha karmaşık işlemler için kullanılabilir.

 

# Dosyayı yazma modunda açar (eğer dosya yoksa oluşturur, varsa içeriğini siler)
f = open("test.txt", "w")

# Dosyaya bir string yazar
f.write("Merhaba, Python!")
f.close()  # Dosyayı kapatır

# Dosyayı okuma modunda açar
f = open("test.txt", "r")

# Dosyadan veri okur
data = f.read()
print(data)  # "Merhaba, Python!" çıktısını verir
f.close()  # Dosyayı kapatır

# Dosyayı ekleme modunda açar (varolan dosyanın sonuna ekler, dosya yoksa oluşturur)
f = open("test.txt", "a")
f.write("\nPython'da dosya işlemleri kolaydır.")
f.close()  # Dosyayı kapatır

# 'with' ifadesi ile dosyayı açar (dosya 'with' bloğunun sonunda otomatik olarak kapatılır)
with open("test.txt", "r") as f:
    lines = f.readlines()  # Tüm satırları okur

# Satırları yazdırır
for line in lines:
    print(line.strip())  # strip() metodu, satır sonlarındaki '\n' karakterini kaldırır

Bu kod örneği, bir dosyanın nasıl oluşturulacağını, yazıldığını, okunduğunu ve üzerine eklendiğini göstermektedir. Dosyanın her kullanımından sonra kapatılması önemlidir, bu yüzden her işlem sonunda close() metodu çağrılır. Ayrıca, with ifadesini kullanarak dosyanın otomatik olarak kapatılmasını sağlamak da mümkündür.

0 Comments


Recommended Comments

There are no comments to display.

Guest
Add a comment...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...