Python’da dosya ve dizinleri silme
Python’da dosya ve dizinlerle çalışmak, özellikle dosya manipülasyonu gerektiren uygulamalar için yaygın bir görevdir. Bu eğitim, os, shutil ve pathlib gibi çeşitli Python modüllerini kullanarak dosya ve dizinleri silmek için gelişmiş yöntemlere odaklanmaktadır. Bu modüllerin her biri dosya sistemi ile çalışmak için farklı işlevler sunarak dosya ve dizinleri verimli bir şekilde yönetmenizi sağlar. Python’u indirmek için resmi kaynak python.org’dan aşağıdaki bağlantıyı ziyaret edin.
Modüllerin anlaşılması
1. Modül işletim sistemi
Os modülü, dosya sistemine okuma veya yazma gibi işletim sistemine bağlı işlevleri kullanma olanağı sağlar. Dosya ve dizin silme işlevlerini içerir. Linux VPS barındırma ortamında os modülünün kullanılması, dosya yönetimi ve diğer sistem düzeyi işlemler üzerinde etkili kontrol sağlar. Bu modül, geliştiricilerin dosya ve dizinleri doğrudan sunucu üzerinde okuma, yazma ve silme gibi eylemleri gerçekleştirmesine olanak tanır
Anahtar özellikler:
- os.remove(yol): Bir dosyanın yolunu kaldırır.
- os.rmdir(yol): Bir dizine giden yolu kaldırır (yok eder). Dizin boş olmalıdır.
- os.unlink(yol): Bir dosyayı silmek için kullanılan os.remove() işlevinin diğer adı.
2. Modül shutil
Shutil modülü dosyalarla çalışmak için üst düzey bir arayüz sunar. Özellikle dizinleri ve dosyaları kopyalamak ve silmek için kullanışlıdır.
Anahtar fonksiyonlar:
- shutil.rmtree(yol): Bir dizini ve alt dizinler ve dosyalar dahil tüm içeriğini özyinelemeli olarak kaldırır.
- shutil.move(src, dst): Bir dosya veya dizini başka bir konuma taşır. Dosyaları var olmayan bir dizine taşıyarak silmek için de kullanılabilir.
3. Pathlib modülü
Pathlib modülü, dosya sistemi yollarıyla çalışmak için nesne yönelimli bir yaklaşım sağlar. Bu modül Python 3.4’te ortaya çıktı ve daha sezgisel ve okunması daha kolay olarak kabul edildi.
Anahtar özellikler:
- Path.unlink(): Dosyayı siler.
- Path.rmdir(): Boş bir dizini siler.
- Path.rmtree(): Bir dizini ve içeriğini silmek için shutil.rmtree() genellikle Path ile birlikte kullanılır.
Dosya ve dizin silmek için gelişmiş yöntemler
Os modülünü kullanma
Dosya ve dizinleri silmek için os modülünün nasıl kullanılacağı aşağıda açıklanmıştır:
Seçenek A: Etkileşimli Python’da çalıştırma
- Yazarak etkileşimli bir Python oturumu açın:
(Python sisteminizde bu şekilde yapılandırılmışsa python kullanın, ancak python3 genellikle Python 3.x için önerilen komuttur).
- Kodu kopyalayıp doğrudan interaktif oturuma yapıştırın (aşağıdaki kod)
b kuşu: Python betik dosyasına yazma
- Nano gibi bir metin düzenleyici kullanarak yeni bir dosya oluşturun:
- Aşağıdaki kodu kopyalayıp dosyaya yapıştırın (kod aşağıda)
- Artık Python betiğinizi terminalden çalıştırabilirsiniz:
Tek bir dosyayı kaldırma
import os
file_path = 'example.txt'
dene:
os.remove(file_path)
print(f'Successfully deleted {file_path}')
except FileNotFoundError:
print(f' {file_path} dosyası mevcut değil')
except PermissionError:
print(f'Permission denied: unable to delete {file_path}')
except Exception as e:
print(f'Bir hata oluştu: {e}')