koddla

Yazılımcıları bilgi ile güçlendirir.

Python’da boş olmayan bir klasörü nasıl kaldırırım/silerim?

Boş olmayan bir klasörü silmeye . os.remove("/folder_name") komutu çalışmak ‘erişim engellendi’ hatasına neden olabilir. Peki olmayan bir klasörü/dizini kaldırmanın/silmenin en etkili yolu nedir?

shutil

import shutil
shutil.rmtree('/folder_name')

Standart Kitaplık: shutil.rmtree.

Tasarım gereği rmtree, salt okunur dosyalar içeren klasörlerde başarısız olur. Klasörün salt okunur dosyalar içerip içermediğine bakılmaksızın silinmesini istiyorsanız:

shutil.rmtree('/folder_name', ignore_errors=True)

os.walk()

Python dokümanlarından: os.walk()

# "top" olarak verilen klasorden ulaşılabilen tüm klasörleri sil
# sembolik linklerin olmadığını varsaydık 
# DİKKAT:  Bu çok tehlikeli olabilir!  Örneğin top == '/', olduğunda
# tüm dosyalarınızı silebilirsiniz.
import os
for root, dirs, files in os.walk(top, topdown=False):
    for name in files:
        os.remove(os.path.join(root, name))
    for name in dirs:
        os.rmdir(os.path.join(root, name))

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Back to top