mrenom.py

Script Python qui renomme les fichiers en masse dans un dossier ( et sous dossiers selon l'option choisi )

Bon pour la petite histoire -> J'en avais marre et je suis feignante , de tout les noms de fichiers qui ne veulent rien dire ... ( IMG_8042.jpg, [www.Cpasbien.me] Defiance.S01E03.FASTSUB.VOSTFR.HDTV.XviD-F4ST , etc)

Alors je me suis faite un petit script devil 

Celui ci permet de renommer tout les fichiers d'un dossier , de supprimer certaine partie de nom de fichier ....etc 

exemples:

 Tous les fichiers du dossier 05.2013 sont renommés ( 05.2013_n°1.jpg, 05.2013_n°2.jpg ...ect )

 Tous les fichiers et dossiers contenant [www.Cpasbien.me] sont renommés sans le [www.Cpasbien.me] . (trés pratique notament pour les extensions du genre "VOSTR.XviD" 

Utilisation :

mrenom.py nouveauNom # Renomme tous les fichiers du dossier
mrenom.py -r nouveauNom # renomme recursivement (même dans sous dossiers)
mrenom.py -d nouveauNom # Pareil mais en renommant les dossiers aussi
mrenom.py -s [www.Cpasbien.com] # Supprimera recursivement [www.Cpasbien.com] de tous les noms des fichiers

Code source :

#!/usr/bin/python
# -*-coding:utf-8-*

import os, sys
from os import chdir

nombreArgs = len(sys.argv)
chemin, cheminAbsolu = [], []
i = 0
chemin.append(os.getcwd())

if (nombreArgs == 1) or (nombreArgs > 3) or (sys.argv[1] == '-help'):
	print ("""Utilisation :
mrenom.py nouveauNom -> Renomme tous les fichiers du dossier
mrenom.py -r nouveauNom -> renomme recursivement (même dans sous dossiers)
mrenom.py -d nouveauNom -> Pareil mais en renommant les dossiers aussi
mrenom.py -s [www.Cpasbien.com] -> Supprimera recursivement [www.Cpasbien.com] 
\\t\\t\\t\\tdu nom de chaque  fichiers et dossiers""")
 
					
def rechercheSousDossiers(fichiers, i, argument):
	for fichier in fichiers:
		if os.path.isdir(fichier) == True:
			print "Le dossier ->"+fichier+" est traité"
			if os.path.abspath(fichier) in chemin:
				pass
			else:
				chemin.append(os.path.abspath(fichier))
		else:
			i += 1
			renomFichiers(fichier, i, argument)

			
def renomFichiers(fichier, i, argument):
	
	if (sys.argv[1] == '-s'):
		sys.argv[2], fichier = sys.argv[2], fichier
		newName = fichier.replace(sys.argv[2], '')
		os.rename(fichier, newName.replace(' ', ''))
		
	if (sys.argv[1] != '-s'):
			
		if (fichier[-4:].lower() == '.jpg') or (fichier[-4:].lower() == '.png'):
			os.rename(fichier, "{0}_n°{1}{2}".format(argument, i, fichier[-4:]))
	
		
if (nombreArgs == 2) or (nombreArgs == 3) :							
	for emplacement in chemin:
		chdir(emplacement)
		fichiers = os.listdir(emplacement)
		if nombreArgs == 2:
			for fichier in fichiers:
				i += 1
				renomFichiers(fichier, i, sys.argv[1])
		
		else:
			rechercheSousDossiers(fichiers, i, sys.argv[2])
			
if (sys.argv[1] == '-s') or (sys.argv[1] == '-d'):
	chemin.remove(chemin[0])
	chemin.reverse()
	
	for emplacement in chemin:
		path = emplacement.rstrip(os.path.basename(emplacement))
		if os.path.isdir(path+sys.argv[2]) == True:
			i += 1
			os.rename(emplacement, path+sys.argv[2]+str(i))
		elif (sys.argv[1] == '-s'):
			newNameDossier = os.path.basename(emplacement).replace(sys.argv[2], '')
			os.rename(emplacement, path+newNameDossier.replace(' ', ''))
		else :	
			os.rename(emplacement, path+sys.argv[2])
		

 

Vus : 556
Publié par shovel-crew : 22