Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- '''
- Skrip sehari2....
- Mls rename manual, biar rapi dan lebih cepat...
- Skrip ini akan merename semua file gambar (recursive) dalam folder Images
- nama file akan sesuai dengan nama folder dimana file berada.
- mis. Images/Fotoku/gambar.jpg
- jadinya
- Images/Fotoku/
- - Fotoku (01).jpg
- - Fotoku (02).jpg
- - Fotoku (03).jpg
- - Fotoku (04).jpg
- dst
- '''
- import os, e32
- ur=lambda x:x.encode('utf-8')
- class Renamer:
- IMGEXT=['.jpg', '.jpeg', '.png',
- '.gif', '.bmp'] # ekstensi gambar
- DIR='E:\\Images' # folder
- SKIP=['_palbtn'] # folder yg tidak diproses / skip (default)
- def __init__(self,skip_dir=[]):
- if len(skip_dir) > 0:
- self.SKIPPED=self.SKIP + skip_dir
- def ren(self,arg,dname,names):
- n=1 # counter mulai dari 01 dst
- for i in os.listdir(dname):
- fp=os.path.join(dname,i)
- ext = os.path.splitext(fp)[1].lower() # ekstensi file
- fd = os.path.split(os.path.dirname(fp))[1].strip() # nama folder
- if os.path.isfile(fp) and ext in self.IMGEXT:
- ext=ext.replace('.jpeg','.jpg')
- X=[i.lower() for i in self.SKIPPED]
- if fd.lower() not in X:
- # nama baru
- new_name=os.path.join(dname, '%s%s (%02d)%s' % (arg,fd,n,ext))
- try:
- os.rename(fp,new_name)
- if not arg:
- #print 'Rename..', os.path.basename(new_name)
- n+=1
- except Exception, err:
- #print err
- pass
- e32.ao_sleep(1E-04)
- def run(self):
- ''' 2x proses rename disini, pertama adalah untuk menyamakan semua namanya (ke nama sementara) baru kemudian direname secara urut. '''
- self.DIR=ur(self.DIR)
- print 'Renaming....'
- os.path.walk(self.DIR,self.ren,'IMG_') # sementara
- os.path.walk(self.DIR,self.ren,'') # final
- if __name__=='__main__':
- import time
- skip=['Images','Jepret'] # rename semua sub/direktori selain ini (sesuaikan sendiri)
- try:
- start=time.time()
- ap=Renamer(skip)
- ap.run()
- print
- print 'Selesai!'
- print 'Waktu: (%.2f sec.)' %(time.time() - start)
- except Exception,err:
- print err
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement