Python, güçlü standart kütüphanesi sayesinde dosya ve klasör yönetimi gibi işlemleri kolayca gerçekleştirmeye imkan tanır. Bu yazıda, Python’da klasör işlemleriyle ilgili temel fonksiyonları ve kullanım örneklerini ele alacağız.
1. Klasörlerin Listelenmesi
Python‘da bir dizindeki dosyaları ve klasörleri listelemek için os
modülü sıkça kullanılır. os.listdir()
fonksiyonu belirli bir dizindeki tüm dosya ve klasörleri döner.
import os
# Listelenecek dizin
directory = 'C:/example_directory'
# Dizin içindekileri listele
contents = os.listdir(directory)
print(contents)
Bu kod, directory
içinde bulunan tüm dosya ve klasörlerin isimlerini bir liste olarak döner.
2. Klasör Oluşturma
Python’da klasör oluşturmak için os.makedirs()
veya os.mkdir()
fonksiyonlarını kullanabiliriz. Eğer birden fazla alt klasör oluşturmanız gerekiyorsa os.makedirs()
tercih edilir, çünkü bu fonksiyon ara klasörleri de oluşturabilir.
# Tek bir klasör oluşturma
os.mkdir('C:/example_directory/new_folder')
# İç içe klasörler oluşturma
os.makedirs('C:/example_directory/parent_folder/child_folder')
os.makedirs()
kullanarak, eğer belirtilen ara klasörler yoksa onları da otomatik olarak oluşturur.
3. Klasör Silme
Bir klasörü silmek için os.rmdir()
veya shutil.rmtree()
fonksiyonlarını kullanabilirsiniz. Ancak, os.rmdir()
yalnızca boş klasörleri siler, dolu klasörler için shutil.rmtree()
kullanmalısınız.
import shutil
# Boş klasör silme
os.rmdir('C:/example_directory/new_folder')
# Dolu klasörü tüm içeriğiyle birlikte silme
shutil.rmtree('C:/example_directory/parent_folder')
Bu komutlar dikkatli kullanılmalıdır çünkü silinen klasörler geri getirilemez.
4. Dosyaları Kopyalama
Bir klasördeki dosyaları başka bir klasöre kopyalamak için shutil.copy()
veya shutil.copytree()
kullanabilirsiniz.
# Belirli bir dosyayı kopyalama
shutil.copy('C:/example_directory/file.txt', 'C:/destination_directory')
# Bir klasörü ve içindeki tüm dosyaları kopyalama
shutil.copytree('C:/example_directory', 'C:/backup_directory')
shutil.copytree()
, bir klasörü ve altındaki tüm dosya ve klasörleri yeni bir yere kopyalar.
5. Klasör ve Dosya Adlarını Değiştirme
Klasör veya dosya adlarını değiştirmek için os.rename()
kullanabilirsiniz. Bu fonksiyon hem dosya hem de klasör isimlerini değiştirmek için kullanılır.
# Dosya adını değiştirme
os.rename('C:/example_directory/old_name.txt', 'C:/example_directory/new_name.txt')
# Klasör adını değiştirme
os.rename('C:/example_directory/old_folder', 'C:/example_directory/new_folder')
Bu şekilde, dosya veya klasörlerinizi kolayca yeniden adlandırabilirsiniz.
6. Klasörler Arasında Dosya Arama
Bir dizinde veya alt dizinlerinde belirli bir dosyayı aramak için os.walk()
kullanılır. Bu fonksiyon, belirtilen dizindeki tüm dosyaları ve klasörleri tarar.
# Bir dizinde dosya arama
for root, dirs, files in os.walk('C:/example_directory'):
for file in files:
if file.endswith('.txt'):
print(os.path.join(root, file))