Renommer des fichiers en masse

Soyez le premier à donner votre avis sur cette source.

Snippet vu 13 276 fois - Téléchargée 15 fois

Contenu du snippet

Permet de renommer vos fichiers en masse.
Vous pouvez fournir l'extension des fichiers que vous voulez modifier ( utile pour les images ). Plusieurs extensions sont possibles.
ex de fichiers renommés :
01.jpg
02.jpg
03.jpg
ou
lala_01.jpg
lala_02.jpg

Vous pouvez fournir le début du commencement si je puis dire :p

C'est encore un de mes premiers programmes.

Source / Exemple :


#!/usr/bin/python
#-*- coding: Utf-8 -*-
import os

class File:
	def __init__(self, chemin):
		self.chemin = chemin
		os.chdir(self.chemin)

	def renommer(self, ext=None, new_ext=None, start=None, prefixe=None):
		"""Renomme les fichier en masse dans un répertoire"""
		if ext != None:self.ext = ext
		if new_ext != None: self.new_ext = new_ext
		if prefixe != None:
			self.prefixe = prefixe
		else:
			self.prefixe = ''
		if start != None:
			self.start = start
		else: self.start = 0

		i = self.start
		for f in os.listdir(self.chemin)  :
			if os.path.isfile(f):
				if self.ext != None:
					if os.path.splitext(f)[1] in self.ext:
						a = open(f, "r+")
						self.name = str(self.prefixe)+str(i)
						self.extension = os.path.splitext(a.name)[1]
						if self.new_ext:
							self.extension = self.new_ext
						print a.name.ljust(20),

						self.new_name = str(self.name)+self.extension
						os.rename(a.name, self.new_name)
						print '-> ', self.new_name
						a.close()
						i += 1

Conclusion :


Je n'ai pas mis de code lanceur, si vous le voulez je le mettrais.

a+

A voir également

Ajouter un commentaire

Commentaires

Voici un bout de code qui fonctionne et bcp plus simple:

import os

class File:
def __init__(self, chemin, prefixe):
self.chemin = chemin
self.prefixe = prefixe
os.chdir(self.chemin)

def rename(self):
"""Renomme les fichier en masse dans un répertoire"""
for f in os.listdir(self.chemin) :
if os.path.isfile(f):
a = open(f, "r+")
a.close()
Nom = a.name
NouveauNom = self.prefixe + Nom
os.rename(Nom, NouveauNom)
Message = 'Fichier '+Nom+' -> '+NouveauNom
print(Message)


sChemin = 'd:\toto'
Traitement = File(sChemin,'23062019')
Traitement.rename()
Attention ! Ce code comporte plusieurs erreurs, a.close() doit être mis juste après le
a = open(f, 'r+')
la fonction print : il faut des parenthèse
L'histoire de préfixe + l'incrémentation comme nom d'origine du fichier, pas bien compris ou en tout cas inutile ici.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (cs_ara3n)