PyIsimDegis
Albüm cdlerini (Sound Juicer ile) bilgisayara aktarırken bazı parça isimlerinde Türkçe karakterler bozuk görünüyordu. Hepsini tek tek değiştirmek çok meşakkatli olacağa benziyordu. Bende bu işlemi kısa sürede gerçekleştirebilecek bir modül hazırladım.
Modülü çalıştırırken bize gerekli olan şeyler bir klasör ve bir değişim sözlüğü. Belirtilen klasör içerisindeki dosyalar ve o klasör içerisinde bulunan alt klasörler içerisindeki dosyaların isimleri değişim sözlüğü vasıtasıyla değiştiriliyor.
Kodları buradan ya da aşağıdan inceleyebilirsiniz.
pyisimdegis.py içeriği:
# -*- coding: utf-8 -*- import os """ {Bir klasör belirtilerek o klasör içerisindeki dosya isimlerini belirtilen harfler/kelimeler doğrultusunda değiştirmeye yarayan bir modül.} {Test Sürümü} Copyright (C) {5 Aralık 2007} {Ömer Ücel} omerucel@gmail.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA """ class PyIsimDegis: def __init__(self,klasor,degistir,ddegis=False): # İşlemin yapılacağı klasör. self.klasor = klasor # Değiştirme bilgileri. self.degistir = degistir # Dosya isimlerinde değiştirme işlemi yapılsın mı ? True , False. self.ddegis = ddegis if self.ddegis==True: self.dosya_degistir(self.klasor) def dosya_degistir(self,yol): if yol[len(yol)-1:len(yol)]<>"/": yol+="/" # Belirtilen yola göre içerik inceleniyor for i in os.listdir(yol): # Eğer eleman dosya ise değiştirme işlemi gerçekleştiriliyor. if os.path.isfile("%s%s" %(yol,i))==True: dosya = "%s%s" %(yol,i) yeni_isim = "" ilk_deger = "" son_deger = "" yeni_isim = i durum = False for j in self.degistir: ilk_deger = j son_deger = self.degistir[j] if i.find(ilk_deger)>-1: durum = True yeni_isim = yeni_isim.replace(ilk_deger,son_deger) if durum==True: os.rename(dosya,"%s%s" %(yol,yeni_isim)) else: self.dosya_degistir("%s%s" %(yol,i))
ornek.py içeriği:
# -*- coding: utf-8 -*- from pyisimdegis import * PyIsimDegis("/home/omer/Music/",{"ð":"ğ","ý":"ı","Þ":"Ş","Ý":"İ","þ":"ş"},True)
Tags: python