Python’da Dosya ve Klasör İşlemleri (os ve shutil modülleri)

Python’da dosya ve klasör işlemleri için os ve shutil modülleri kullanılır. Bu modüller, dosya ve klasörlerin yönetimi, dosya sisteminde gezinme, dosya kopyalama, taşıma, silme gibi işlemleri gerçekleştirmek için güçlü araçlar sunar.

1. os Modülü

os modülü, işletim sistemi ile etkileşimde bulunmak için kullanılan bir Python modülüdür. Dosya ve klasörlerle ilgili temel işlemleri yapmanıza olanak tanır.

a. Geçerli Çalışma Dizini (Current Working Directory)

Geçerli çalışma dizinini öğrenmek ve değiştirmek için os.getcwd() ve os.chdir() fonksiyonları kullanılır.

Örnek:
import os

# Geçerli çalışma dizinini öğrenme
current_directory = os.getcwd()
print("Geçerli Dizin:", current_directory)

# Geçerli çalışma dizinini değiştirme
os.chdir("/path/to/new/directory")
print("Yeni Geçerli Dizin:", os.getcwd())
b. Klasör Oluşturma ve Silme

Klasör oluşturmak için os.mkdir() ve os.makedirs(), klasör silmek için os.rmdir() ve os.removedirs() fonksiyonları kullanılır.

Örnek:
import os

# Yeni bir klasör oluşturma
os.mkdir("yeni_klasor")

# İç içe klasörler oluşturma
os.makedirs("ana_klasor/alt_klasor")

# Klasörleri silme
os.rmdir("yeni_klasor")
os.removedirs("ana_klasor/alt_klasor")
c. Dosya ve Klasör Listeleme

Bir dizindeki dosya ve klasörleri listelemek için os.listdir() fonksiyonu kullanılır.

Örnek:
import os

# Geçerli dizindeki dosya ve klasörleri listeleme
items = os.listdir(".")
print("Dosyalar ve Klasörler:", items)
d. Dosya ve Klasör Adı Değiştirme

Dosya veya klasör adı değiştirmek için os.rename() fonksiyonu kullanılır.

Örnek:
import os

# Dosya veya klasör adını değiştirme
os.rename("eski_isim.txt", "yeni_isim.txt")
e. Dosya Silme

Dosya silmek için os.remove() fonksiyonu kullanılır.

Örnek:
import os

# Dosya silme
os.remove("silinecek_dosya.txt")
f. Dosya ve Klasörlerin Varlığını Kontrol Etme

Bir dosya veya klasörün mevcut olup olmadığını kontrol etmek için os.path.exists() fonksiyonu kullanılır.

Örnek:
import os

# Dosya veya klasör varlığını kontrol etme
if os.path.exists("kontrol_edilecek_dosya.txt"):
print("Dosya mevcut.")
else:
print("Dosya bulunamadı.")

2. shutil Modülü

shutil modülü, dosya ve klasörlerle ilgili daha karmaşık işlemleri gerçekleştirmek için kullanılır. Bu işlemler arasında dosya ve klasör kopyalama, taşıma ve silme yer alır.

a. Dosya Kopyalama

Bir dosyayı kopyalamak için shutil.copy() veya shutil.copy2() fonksiyonları kullanılır. copy2(), dosya meta verilerini (oluşturulma tarihi, izinler vb.) de kopyalar.

Örnek:
import shutil

# Dosya kopyalama
shutil.copy("orijinal_dosya.txt", "kopya_dosya.txt")
b. Klasör Kopyalama

Bir klasörü ve içindeki tüm dosyaları kopyalamak için shutil.copytree() fonksiyonu kullanılır.

Örnek:
import shutil

# Klasör kopyalama
shutil.copytree("orijinal_klasor", "kopya_klasor")
c. Dosya veya Klasör Taşıma

Bir dosya veya klasörü başka bir konuma taşımak için shutil.move() fonksiyonu kullanılır.

Örnek:
import shutil

# Dosya veya klasör taşıma
shutil.move("orijinal_dosya.txt", "yeni_klasor/orijinal_dosya.txt")
d. Klasör Silme

Bir klasörü ve içeriğini silmek için shutil.rmtree() fonksiyonu kullanılır.

Örnek:
import shutil

# Klasör ve içeriğini silme
shutil.rmtree("silinecek_klasor")
e. Disk Kullanım Bilgisi Alma

Bir sürücünün disk kullanım bilgilerini almak için shutil.disk_usage() fonksiyonu kullanılır.

Örnek:
import shutil

# Disk kullanım bilgisi
total, used, free = shutil.disk_usage("/")
print(f"Toplam: {total // (2**30)} GB")
print(f"Kullanılan: {used // (2**30)} GB")
print(f"Boş: {free // (2**30)} GB")

 

Python‘da os ve shutil modülleri, dosya ve klasör işlemleri için güçlü araçlar sunar. os modülü, temel dosya ve dizin işlemleri için kullanılırken, shutil modülü daha gelişmiş dosya ve dizin yönetimi işlemleri sağlar. Bu modüllerle, dosya sisteminde gezinebilir, dosyaları ve dizinleri kopyalayabilir, taşıyabilir ve silebilirsiniz. Bu araçlar, Python’da sistem yönetimi ve otomasyon görevlerini gerçekleştirmek için kritik öneme sahiptir.

Comments

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.