Python os.rename() kullanarak Dosyayı ve Dizini yeniden adlandırın

⚡ Akıllı Özet

Python Bu bölümde, `os.rename()` fonksiyonu ile dosya ve dizinleri yeniden adlandırmayı öğreneceksiniz. Ayrıca, `os.rename()`, `os.renames()`, `shutil.move()` ve `pathlib` `Path.rename()` fonksiyonlarının nasıl kullanılacağını ve bir dizini nasıl yeniden adlandıracağınızı, birden fazla dosyayı toplu olarak nasıl yeniden adlandıracağınızı açık örneklerle öğreneceksiniz.

  • ✏️ os.rename(): os.rename(src, dst) bir dosya veya dizini yeniden adlandırır; kaynak dosyanın mevcut olması gerekir.
  • 🗂️ os.rename(): os.renames() ayrıca eksik hedef klasörleri otomatik olarak oluşturur.
  • 🚚 shutil.move(): shutil.move() fonksiyonu dosyaları yeniden adlandırabilir ve dosya sistemleri arasında taşıyabilir.
  • 🐍 pathlib: Path.rename() dosyaları nesne yönelimli bir yaklaşımla yeniden adlandırır (Python 3.4+).
  • 🤖 Yapay zekâ yardımı: Copilot gibi yapay zeka araçları, yeniden adlandırma ve toplu yeniden adlandırma kodunu anında oluşturur.

Python Dosyayı Yeniden Adlandır os.rename()

Python Yeniden Adlandır Dosya

Python yeniden adlandır() dosyası bir dosyayı veya dizini yeniden adlandırmak için kullanılan bir yöntemdir. Python programlama. Python rename() dosya yöntemi, src (Kaynak) ve dst (Hedef) adlı iki bağımsız değişkenin iletilmesiyle bildirilebilir.

Sözdizimi

Bu os.rename() yönteminin sözdizimidir

os.rename(src, dst)

Parametreler

kaynak: Kaynak, dosyanın veya dizinin adıdır. Zaten var olması gerekir.

varış: Hedef, değiştirmek istediğiniz dosyanın veya dizinin yeni adıdır.

Örnek:

import os  
os.rename('guru99.txt','career.guru99.txt')

Örneğe detaylı olarak bakalım

Orijinal dosyayı yeniden adlandırabilirsiniz, dosya adını "Guru99.txt” dosyasını “Career.guru99.txt” olarak değiştirin.

Python Yeniden Adlandır Dosya

  • “Guru99.txt” dosyasını yeniden adlandırmak için işletim sistemi modülündeki “yeniden adlandırma işlevini” kullanacağız
  • Yani kod çalıştırıldığında panelin sağ tarafında orijinal dosyamız için yeniden adlandırdığımız yeni bir “career.guru99.txt” dosyasının oluştuğunu gözlemleyebilirsiniz.

İşte kodun tamamı

import os
import shutil
from os import path

def main():
	# make a duplicate of an existing file
    if path.exists("guru99.txt"):
	# get the path to the file in the current directory
        src = path.realpath("guru99.txt");
		
	# rename the original file
        os.rename('guru99.txt','career.guru99.txt') 
		
if __name__ == "__main__":
    main()

Bir dizinin adını nasıl değiştiririm? Python

`os.rename()` metodu yalnızca dosyaları değil, dizinleri de yeniden adlandırır. Kaynak olarak geçerli klasör adını, hedef olarak ise yeni adı geçirin.

import os
os.rename("old_directory", "new_directory")

Kaynak dizin mevcut değilse, Python Bu durum FileNotFoundError hatasına neden olur, bu nedenle öncelikle dosya yolunu kontrol etmek iyi bir uygulamadır.

os.renames() kullanarak bir dosyayı yeniden adlandırın.

`os.renames()` metodu bir dosyayı yeniden adlandırır ve hedef yolda eksik olan ara dizinleri otomatik olarak oluşturur. Ayrıca kaynak yolda kalan boş dizinleri de siler.

import os
os.renames("guru99.txt", "archive/2024/career.txt")

Burada, arşiv ve 2024 klasörleri zaten mevcut değilse otomatik olarak oluşturulur.

shutil.move() kullanarak bir dosyayı yeniden adlandırın.

`shutil.move()` fonksiyonu bir dosyayı yeni bir konuma taşır; hedef dizin aynıysa bu işlem dosyayı yeniden adlandırmak anlamına gelir.

import shutil
shutil.move("guru99.txt", "career.guru99.txt")

os.rename()'in aksine, shutil.move() bir dosyayı farklı dosya sistemleri veya sürücüler arasında da taşıyabilir.

pathlib Modülünü Kullanarak Bir Dosyayı Yeniden Adlandır

In Python 3.4 ve sonraki sürümlerde, pathlib modülü dosyaları yeniden adlandırmak için nesne yönelimli bir Path.rename() yöntemi sunar.

from pathlib import Path

file = Path("guru99.txt")
file.rename("career.guru99.txt")

`rename()` metodu, yeniden adlandırılan dosyayı gösteren yeni bir `Path` nesnesi döndürür.

Birden Çok Dosyayı Yeniden Adlandırma Python

Birçok dosyayı aynı anda yeniden adlandırmak için, os.listdir() komutuyla dizindeki dosyalar üzerinde döngü oluşturun ve her biri için os.rename() komutunu çağırın. Aşağıdaki örnek, her dosyaya numaralı bir önek ekler.

import os

folder = "myfiles"
for count, filename in enumerate(os.listdir(folder)):
    new_name = f"file_{count}.txt"
    os.rename(os.path.join(folder, filename), os.path.join(folder, new_name))

`os.path.join()` kullanımı, kodun herhangi bir işletim sisteminde doğru şekilde çalışmasını sağlar.

SSS

`os` kütüphanesini içe aktarın ve `os.rename(src, dst)` fonksiyonunu çağırarak mevcut dosya adını ve yeni adı parametre olarak geçirin. Kaynak dosyanın zaten mevcut olması gerekir veya Python FileNotFoundError hatası verir.

`os.rename()` tek bir dosya veya dizini yeniden adlandırırken, `os.renames()` taşıma işleminden sonra eksik ara dizinleri de oluşturur ve boş kaynak klasörlerini siler.

Evet. `shutil.move(src, dst)`, hedef aynı klasör olduğunda dosyayı yeniden adlandırır ve `os.rename()`'in aksine dosyaları farklı dosya sistemleri arasında da taşıyabilir.

`os.rename('old_dir', 'new_dir')` komutunu kullanın. Kaynak dizin mevcut olduğu sürece, aynı `os.rename()` işlevi hem dosyalar hem de dizinler için çalışır.

`os.listdir(folder)` üzerinde döngü oluşturun ve her dosya için `os.rename()` fonksiyonunu çağırın. Kodun herhangi bir işletim sisteminde çalışması için tam yolları oluşturmak üzere `os.path.join()` fonksiyonunu kullanın.

GitHub Copilot gibi yapay zeka asistanları, os.rename() ve pathlib çağrılarını otomatik olarak tamamlar ve istediğiniz adlandırma modelini açıklayan bir yorumdan toplu yeniden adlandırma döngüleri oluşturur.

Evet. Yapay zeka destekli araçlar, toplu yeniden adlandırma komut dosyalarının yazımını otomatikleştirebilir, numaralandırma veya tarih önekleri gibi kalıplar uygulayabilir ve eksik veya yinelenen adlar için hata işleme ekleyebilir.

On Windows`os.rename()` komutu, hedef dosya mevcutsa `FileExistsError` hatası verir. Unix sistemlerinde ise dosyayı sessizce üzerine yazar. Veri kaybını önlemek için önce `os.path.exists()` ile kontrol edin.

Bu yazıyı şu şekilde özetleyin: