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.
Bir yanıt yazın