Pythontr

husonet | Tarih: 23.02.2015

Python Dosya Kontrolü

Python ile dosya kontrolü nasıl yapılır? Bir çok yönden inceleyelim.

Aslında dosya yada dizin kontrolü işlemleri talep edilen dosya yada dizinin varlığını kontrol etmekle alakalı işlemlerdir. Bu kontroller dosya ve dizin üzerinde yapılacak işlemlerde hataya sebep vermemek üzere yapılır yada varlık durumuna göre tekrar oluşturulur.


Peki dosya ve dizinlerimizi varlıklarını nasıl kontrol ederiz? Aşağıdaki örneklerimizi inceleyelim.


import os.path modulu sık kullanılan bir moduldur.
>>> print os.path.isfile("/etc/passwd")
True
>>> print os.path.isfile("/etc")
False
>>> print os.path.isfile("/does/not/exist")
False
>>> print os.path.exists("/etc/passwd")
True
>>> print os.path.exists("/etc")
True
>>> print os.path.exists("/does/not/exist")
False

Yukarıda örnekte gördüğünüz gibi isfile methodu klasör varlığını kontrol etmez! Bu sebepten dolayı genelde exists methodunu kullanmak alışkanlık haline gelmektedir.


Peki var olan dosyamızın okunabilirlik durumuyla ilgili bir kontrol yapabilirmiyiz? Python elbette buna olanak sağlar.


import os
import os.path
PATH='./deneme.txt'
if os.path.isfile(PATH) and os.access(PATH, os.R_OK):
print "Dosyamız mevcut ve okunabilir durumdadır."
else:
print "Dosyamız mevcut değil yada okunabilir durumda değildir."

Diğer bir dosya kontrolü de Try Except bloklarıdır. Bu bloklar içerisinde örneğin açılacak dosya bulunamazsa bir except fırlatır ve hata oluşumu yakalanır. Aşağıdaki örneğimize bakalım.


try:
f = open(filepath)
except IOError:
print 'Dosya kontrolü'