koddla

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

Python’da dosya veya klasör nasıl silinir?


Python 3.4+ için pathlib modülünden path nesneleri de aşağıdaki metotlara sahip:

Şimdi bunlara biraz daha detaylı bakalım.

Dosya silmek için Python sözdizimi

import os
os.remove("/tmp/<dosya_adi>.txt")

Veya

import os
os.unlink("/tmp/<dosya_adi>.txt")

Veya

pathlib kütüphanesinden (Python versiyon >= 3.4):

file_to_rem = pathlib.Path("/tmp/<dosya_adi>.txt")
file_to_rem.unlink()

Dosyayı veya symbolik bağlantısını kaldırmak için kullanılan bağlantıyı kaldırma yöntemi.

missing_ok=False kullanıldığında (varsayılan): dosya bulunamazsa FileNotFoundError hatası verir.
missing_ok=True için, FileNotFoundError özel durumları yoksayılır (POSIX rm -f komutuyla aynı davranır).

En iyi uygulama

İlk olarak, dosya veya klasörün var olup olmadığını denetleyin, sonra yalnızca bu dosyayı silin. Bu iki şekilde yapılır:

a. os.path.isfile(“/path/to/file”)
b. hata yakalama

ÖRNEK os.path.isfile

#!/usr/bin/python
import os
myfile="/tmp/foo.txt"

## Dosya varsa sil ##
if os.path.isfile(myfile):
    os.remove(myfile)
else:    ## Hata mesajı göster ##
    print("Hata: %s dosyası bulunamadı" % myfile)

ÖRNEK: hata yakalama

#!/usr/bin/python
import os

## Kullanıcı girdisi al##
myfile= raw_input("Silinecek dosyanın adını yazınız: ")

## Dosyayı silmeyi dene ##
try:
    os.remove(myfile)
except OSError as e:  ## Eğer hata verirse kullanıcıya hatayı ilet ##
    print ("Hata: %s - %s." % (e.filename, e.strerror))

Klasörü silmek için Python sözdizimi

shutil.rmtree()

Örnek shutil.rmtree()

#!/usr/bin/python
import os
import sys
import shutil

# Klasör adını al
mydir= raw_input("Klasör adını yazınız: ")

## Klasörü silmeyi dene; eğer hata verirse kullanıcıya göster 
try:
    shutil.rmtree(mydir)
except OSError as e:
    print ("Hata: %s - %s." % (e.filename, e.strerror))

Bir yanıt yazın

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

Back to top