Bu eğitimde, Python'da dosya ve dizin yönetimi, yani bir dizin oluşturma, yeniden adlandırma, tüm dizinleri listeleme ve onlarla çalışma hakkında bilgi edineceksiniz.
Video: Python os Modülü
Python Dizini
Python programımızda işlenecek çok sayıda dosya varsa, işleri daha yönetilebilir hale getirmek için kodumuzu farklı dizinlerde düzenleyebiliriz.
Bir dizin veya klasör, dosya ve alt dizinler koleksiyonudur. Python, os
dizinlerle (ve aynı zamanda dosyalarla) çalışmak için bize birçok yararlı yöntem sağlayan modüle sahiptir .
Mevcut Dizini Al
Modül getcwd()
metodunu kullanarak mevcut çalışma dizinini alabiliriz os
.
Bu yöntem, geçerli çalışma dizinini bir dize biçiminde döndürür. getcwdb()
Bayt nesnesi olarak elde etmek için yöntemi de kullanabiliriz .
>>> import os >>> os.getcwd() 'C:\Program Files\PyScripter' >>> os.getcwdb() b'C:\Program Files\PyScripter'
Ekstra ters eğik çizgi, bir kaçış dizisini ifade eder. print()
Fonksiyonu düzgün bu hale getirecek.
>>> print(os.getcwd()) C:Program FilesPyScripter
Dizini Değiştirme
chdir()
Yöntemi kullanarak mevcut çalışma dizinini değiştirebiliriz .
Değiştirmek istediğimiz yeni yol, bu yönteme bir dize olarak sağlanmalıdır. Yol öğelerini ayırmak için hem eğik çizgi hem de ters /
eğik çizgi kullanabiliriz.
Geriye doğru eğik çizgi kullanıldığında bir kaçış dizisi kullanmak daha güvenlidir.
>>> os.chdir('C:\Python33') >>> print(os.getcwd()) C:Python33
Dizinleri ve Dosyaları Listeleme
Bir dizin içindeki tüm dosyalar ve alt dizinler listdir()
yöntem kullanılarak alınabilir .
Bu yöntem bir yol alır ve bu yoldaki alt dizinlerin ve dosyaların bir listesini döndürür. Yol belirtilmezse, geçerli çalışma dizininden alt dizinlerin ve dosyaların listesini döndürür.
>>> print(os.getcwd()) C:Python33 >>> os.listdir() ('DLLs', 'Doc', 'include', 'Lib', 'libs', 'LICENSE.txt', 'NEWS.txt', 'python.exe', 'pythonw.exe', 'README.txt', 'Scripts', 'tcl', 'Tools') >>> os.listdir('G:\') ('$RECYCLE.BIN', 'Movies', 'Music', 'Photos', 'Series', 'System Volume Information')
Yeni Bir Dizin Oluşturmak
mkdir()
Yöntemi kullanarak yeni bir dizin oluşturabiliriz .
Bu yöntem, yeni dizinin yolunu alır. Tam yol belirtilmezse, yeni dizin geçerli çalışma dizininde oluşturulur.
>>> os.mkdir('test') >>> os.listdir() ('test')
Bir Dizini veya Dosyayı Yeniden Adlandırma
rename()
Yöntem, bir dizin veya dosya adını değiştirebilirsiniz.
Herhangi bir dizini veya dosyayı yeniden adlandırmak için, rename()
yöntem iki temel bağımsız değişken alır: ilk bağımsız değişken olarak eski ad ve ikinci bağımsız değişken olarak yeni ad.
>>> os.listdir() ('test') >>> os.rename('test','new_one') >>> os.listdir() ('new_one')
Dizini veya Dosyayı Kaldırma
remove()
Yöntem kullanılarak bir dosya kaldırılabilir (silinebilir) .
Benzer şekilde, rmdir()
yöntem boş bir dizini kaldırır.
>>> os.listdir() ('new_one', 'old.txt') >>> os.remove('old.txt') >>> os.listdir() ('new_one') >>> os.rmdir('new_one') >>> os.listdir() ()
Not : rmdir()
Yöntem yalnızca boş dizinleri kaldırabilir.
Boş olmayan bir dizini kaldırmak rmtree()
için shutil
modül içindeki yöntemi kullanabiliriz .
>>> os.listdir() ('test') >>> os.rmdir('test') Traceback (most recent call last):… OSError: (WinError 145) The directory is not empty: 'test' >>> import shutil >>> shutil.rmtree('test') >>> os.listdir() ()