Python'da dosya ve dizinleri silme ⋆ ALexHost SRL

Tüm Barındırma hizmetlerimizde becerilerinizi test edin ve % 15 indirim kazanın!

Ödeme sırasında kodu kullanın:

Skills
21.01.2025

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

  1. Yazarak etkileşimli bir Python oturumu açın:
    python3

    (Python sisteminizde bu şekilde yapılandırılmışsa python kullanın, ancak python3 genellikle Python 3.x için önerilen komuttur).

  2. Kodu kopyalayıp doğrudan interaktif oturuma yapıştırın (aşağıdaki kod)

b kuşu: Python betik dosyasına yazma

  1. Nano gibi bir metin düzenleyici kullanarak yeni bir dosya oluşturun:
    nano remove_file.py
  2. Aşağıdaki kodu kopyalayıp dosyaya yapıştırın (kod aşağıda)
  3. Artık Python betiğinizi terminalden çalıştırabilirsiniz:
    python3 remove_file.py

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}')

Çıktı:

Boş bir dizini silme

Adım 1: Bir dizin oluşturun

İlk olarak, example_dir adında boş bir dizin oluşturun. Bu işlem aşağıdaki komut kullanılarak yapılabilir:

mkdir example_dir

Adım 2: Bir Python betiği oluşturun

Şimdi boş dizini silecek kodu içerecek bir Python betiği oluşturmanız gerekiyor. Komut dosyasını oluşturmak için nano gibi bir metin düzenleyici kullanabilirsiniz.

  1. Nano’yu açın ve yeni bir Python dosyası oluşturun:
    nano remove_directory.py
  2. Aşağıdaki kodu kopyalayıp dosyaya yapıştırın (kod aşağıda)
  3. Şimdi yeni oluşturduğunuz Python betiğini çalıştırın:
    python3 remove_directory.py

import os
directory_path = 'example_dir'
dene:
os.rmdir(directory_path)

f'Successfully deleted directory {directory_path}')
except FileNotFoundError:
print(f' {directory_path} dizini mevcut değil')
oSErrordışında:
print(f' {directory_path} dizini boş değil')
except Exception as e:
print(f'Bir hata oluştu: {e}')

Çıktı:

Shutil modülünü kullanma

Adım 1: İçeriğiyle birlikte bir dizin oluşturun

İlk olarak, example_dir_with_content adında bir dizin oluşturun ve içine bazı dosyalar ekleyin. Bu işlem aşağıdaki komutlar kullanılarak yapılabilir:

mkdir example_dir_with_content
touch example_dir_with_content/file1.txt
touch example_dir_with_content/file2.txt

Adım 2: Bir Python betiği oluşturun

Şimdi dizini ve içeriğini silecek kodu içeren bir Python betiği oluşturmanız gerekiyor. Komut dosyasını oluşturmak için nano gibi bir metin düzenleyici kullanabilirsiniz.

  1. Nano’yu açın ve yeni bir Python dosyası oluşturun:
    nano remove_directory_content.py
  2. Aşağıdaki kodu kopyalayıp dosyaya yapıştırın (kod aşağıda)
  3. Şimdi yeni oluşturduğunuz Python betiğini çalıştırın:
    python3 remove_directory_content.py

İçerikli dizinleri kaldırmak için shutil.rmtree() işlevini kullanın:

import shutil
'example_dir_with_content'
dene:
shutil.rmtree(directory_path)
print(f'Successfully deleted directory {directory_path} and its contents')
except FileNotFoundError:
print(f' {directory_path} dizini mevcut değil')
except PermissionError:
print(f'Permission denied: unable to delete {directory_path}')
except Exception as e:
print(f'Bir hata oluştu: {e}')

Çıktı:

Pathlib modülünü kullanma

pathlib modülü, dosya sistemi yolları için modern bir arayüz sağlar:

Dosya silme

from pathlib import Path
file_path = Path('example.txt')
dene:
file_path.unlink()
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}')

Çıktı:

Boş bir dizini silme

from pathlib import Pathdirectory_path = Path('example_dir'
try:
directory_path.rmdir() # Bu yalnızca dizin boşsa çalışacaktır
print(f' {directory_path} dizini başarıyla silindi')
except FileNotFoundError:
print(f' {directory_path} dizini mevcut değil')
oSErrordışında:
print(f' {directory_path} dizini boş değil')
except Exception as e:
print(f'Bir hata oluştu: {e}')

Çıktı:

Zarif hata işleme

Dosya işlemleri ile çalışırken, programın çökmesini önlemek için istisnaları incelikle ele almak çok önemlidir. Yaygın istisnalar şunlardır:

  • FileNotFoundError: Var olmayan bir dosya veya dizin silinmeye çalışıldığında ortaya çıkar.
  • PermissionError: Bir kullanıcı bir dosya veya dizini silmek için gerekliizinlere sahip olmadığında ortaya çıkar.
  • OSError: Boş olmayan bir dizini silme girişimi de dahil olmak üzere işletim sistemiyle ilgili çeşitli hatalar için ortaya çıkar.

Sonuç

Bu eğitimde, dosya ve dizinleri silmek için os, shutil ve pathlib gibi Python modüllerinin nasıl kullanılacağını ele aldık. Her modülün kendine özgü avantajları vardır ve bunları etkili bir şekilde nasıl kullanacağınızı anlamak, uygulamalarınızda dosya sistemlerini yönetme becerinizi artıracaktır. Bu tekniklerde ustalaşarak, dosya yönetimi görevlerini otomatikleştirebilecek, dosyalarla daha sezgisel bir şekilde çalışabilecek ve dosya sistemiyle etkileşime giren sağlam komut dosyaları yazabileceksiniz.

Tüm Barındırma hizmetlerimizde becerilerinizi test edin ve % 15 indirim kazanın!

Ödeme sırasında kodu kullanın:

Skills