J'ai un collègue qui a fait un CDRom de toute une arborescence de fichiers.
Je l'ai copué sur mon disque dur.
Mon souci c'est qu'il a la sale habitude d'avoir mis des espaces et des
caractères accentués (é,è et ê) dans les noms de fichiers.
Il y a environ 5000 fichiers avec une profondeur variable mais inférieure
à 10.
Je voudrais faire le script de renommage en Python.
Le but est de renommer les fichiers et répertoires en remplaçant les
espaces par '_' et les 'é'|'è'|'ê' par des 'e' (On ne traitera pas les
cas ou il y a risque d'écrasement).
J'ai juste l'algorithme en tête, mais je me heurte à un dilemme que je
souhaite éclaircir avant de coder.
- Recursivité ou pas? Est ce que la profondeur de 10 va péter à coup sûr
en "maximum depth recursion"?
- Voir les choses en arbres? Oui mais comme on va renommer des noeuds
(répertoires), il faudra actualiser l'arbre à chaque fois.
- Pour lister le contenu d'un répertoire, j'ai en tête glob.glob('*'). Il
y a mieux? pire?
Voilà. En fait le script servira à cet usage mais dans la mesure du
possible j'aimerais garder la possibilité de l'utiliser pour autre chose
plus tard, d'où la question sur le "maximum depth recursion".
Merci d'avance à tous ceux qui m'aiguilleront.
--
SPIP, phpNuke, Plone, opengroupware... c'est bien
CPS c'est mieux: http://www.cps-project.org/
Hébergement de sites CPS: http://www.objectis.org/
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Bertrand B
Bonjour,
J'ai un collègue qui a fait un CDRom de toute une arborescence de fic hiers. Je l'ai copué sur mon disque dur. Mon souci c'est qu'il a la sale habitude d'avoir mis des espaces et des caractères accentués (é,è et ê) dans les noms de fichiers. Il y a environ 5000 fichiers avec une profondeur variable mais inféri eure à 10. Je voudrais faire le script de renommage en Python. Le but est de renommer les fichiers et répertoires en remplaçant le s espaces par '_' et les 'é'|'è'|'ê' par des 'e' (On ne traitera pa s les cas ou il y a risque d'écrasement).
J'ai juste l'algorithme en tête, mais je me heurte à un dilemme que je souhaite éclaircir avant de coder.
- Recursivité ou pas? Est ce que la profondeur de 10 va péter à c oup sûr en "maximum depth recursion"?
C'est ce que je comencerais à faire c'est le plus simple à écrire
- Voir les choses en arbres? Oui mais comme on va renommer des noeuds (répertoires), il faudra actualiser l'arbre à chaque fois.
Il faut commencer par les feuilles et non par le tronc. Une manière de e faire est de descendre l'arbre de faire une liste des noeuds de niveau 1 puis de niveau 2 puis de niveau 3 etc ... et après de renommé l'ensemble des noeuds de niveau n puis n-1 etc .. .
Bonjour,
J'ai un collègue qui a fait un CDRom de toute une arborescence de fic hiers.
Je l'ai copué sur mon disque dur.
Mon souci c'est qu'il a la sale habitude d'avoir mis des espaces et des
caractères accentués (é,è et ê) dans les noms de fichiers.
Il y a environ 5000 fichiers avec une profondeur variable mais inféri eure
à 10.
Je voudrais faire le script de renommage en Python.
Le but est de renommer les fichiers et répertoires en remplaçant le s
espaces par '_' et les 'é'|'è'|'ê' par des 'e' (On ne traitera pa s les
cas ou il y a risque d'écrasement).
J'ai juste l'algorithme en tête, mais je me heurte à un dilemme que je
souhaite éclaircir avant de coder.
- Recursivité ou pas? Est ce que la profondeur de 10 va péter à c oup sûr
en "maximum depth recursion"?
C'est ce que je comencerais à faire c'est le plus simple à écrire
- Voir les choses en arbres? Oui mais comme on va renommer des noeuds
(répertoires), il faudra actualiser l'arbre à chaque fois.
Il faut commencer par les feuilles et non par le tronc.
Une manière de e faire est de descendre l'arbre de faire une liste des
noeuds de niveau 1 puis de niveau 2 puis de niveau 3 etc ...
et après de renommé l'ensemble des noeuds de niveau n puis n-1 etc .. .
J'ai un collègue qui a fait un CDRom de toute une arborescence de fic hiers. Je l'ai copué sur mon disque dur. Mon souci c'est qu'il a la sale habitude d'avoir mis des espaces et des caractères accentués (é,è et ê) dans les noms de fichiers. Il y a environ 5000 fichiers avec une profondeur variable mais inféri eure à 10. Je voudrais faire le script de renommage en Python. Le but est de renommer les fichiers et répertoires en remplaçant le s espaces par '_' et les 'é'|'è'|'ê' par des 'e' (On ne traitera pa s les cas ou il y a risque d'écrasement).
J'ai juste l'algorithme en tête, mais je me heurte à un dilemme que je souhaite éclaircir avant de coder.
- Recursivité ou pas? Est ce que la profondeur de 10 va péter à c oup sûr en "maximum depth recursion"?
C'est ce que je comencerais à faire c'est le plus simple à écrire
- Voir les choses en arbres? Oui mais comme on va renommer des noeuds (répertoires), il faudra actualiser l'arbre à chaque fois.
Il faut commencer par les feuilles et non par le tronc. Une manière de e faire est de descendre l'arbre de faire une liste des noeuds de niveau 1 puis de niveau 2 puis de niveau 3 etc ... et après de renommé l'ensemble des noeuds de niveau n puis n-1 etc .. .
Frédéric Momméja
R12y écrivait le 28/09/05 23:09 :
Je voudrais faire le script de renommage en Python. Le but est de renommer les fichiers et répertoires en remplaçant les espaces par '_' et les 'é'|'è'|'ê' par des 'e' (On ne traitera pas les cas ou il y a risque d'écrasement).
Et s'il a également mis des 'à' et des 'ç' ? ;)
J'avais demandé de l'aide dans ce même groupe en juin pour un problème assez similaire et Amaury m'avais offert une solution extrêmement élégante.
Tu la retrouveras ici : <http://groups.google.fr/group/fr.comp.lang.python/browse_thread/thread/7a1e4c77785abd92/4ced762ff95a2cd8?q¬centu%C3%A9&rnum=9&hl=fr#4ced762ff95a2cd8>
ou encore la même URL plus facilement cliquable :) <http://tinyurl.com/765uu>
-- Frédéric Momméja
R12y écrivait le 28/09/05 23:09 :
Je voudrais faire le script de renommage en Python.
Le but est de renommer les fichiers et répertoires en remplaçant les
espaces par '_' et les 'é'|'è'|'ê' par des 'e' (On ne traitera pas les
cas ou il y a risque d'écrasement).
Et s'il a également mis des 'à' et des 'ç' ? ;)
J'avais demandé de l'aide dans ce même groupe en juin pour un problème
assez similaire et Amaury m'avais offert une solution extrêmement élégante.
Tu la retrouveras ici :
<http://groups.google.fr/group/fr.comp.lang.python/browse_thread/thread/7a1e4c77785abd92/4ced762ff95a2cd8?q¬centu%C3%A9&rnum=9&hl=fr#4ced762ff95a2cd8>
ou encore la même URL plus facilement cliquable :)
<http://tinyurl.com/765uu>
Je voudrais faire le script de renommage en Python. Le but est de renommer les fichiers et répertoires en remplaçant les espaces par '_' et les 'é'|'è'|'ê' par des 'e' (On ne traitera pas les cas ou il y a risque d'écrasement).
Et s'il a également mis des 'à' et des 'ç' ? ;)
J'avais demandé de l'aide dans ce même groupe en juin pour un problème assez similaire et Amaury m'avais offert une solution extrêmement élégante.
Tu la retrouveras ici : <http://groups.google.fr/group/fr.comp.lang.python/browse_thread/thread/7a1e4c77785abd92/4ced762ff95a2cd8?q¬centu%C3%A9&rnum=9&hl=fr#4ced762ff95a2cd8>
ou encore la même URL plus facilement cliquable :) <http://tinyurl.com/765uu>
-- Frédéric Momméja
ReM
Pourquoi ne pas utiliser os.walk : http://docs.python.org/lib/os-file-dir.html Il y a même un exemple qui fait ce que tu veux !
Bonjour,
J'ai un collègue qui a fait un CDRom de toute une arborescence de fichiers. Je l'ai copué sur mon disque dur. Mon souci c'est qu'il a la sale habitude d'avoir mis des espaces et des caractères accentués (é,è et ê) dans les noms de fichiers. Il y a environ 5000 fichiers avec une profondeur variable mais inférieure à 10. Je voudrais faire le script de renommage en Python. Le but est de renommer les fichiers et répertoires en remplaçant les espaces par '_' et les 'é'|'è'|'ê' par des 'e' (On ne traitera pas les cas ou il y a risque d'écrasement).
J'ai juste l'algorithme en tête, mais je me heurte à un dilemme que je souhaite éclaircir avant de coder.
- Recursivité ou pas? Est ce que la profondeur de 10 va péter à coup sûr en "maximum depth recursion"?
- Voir les choses en arbres? Oui mais comme on va renommer des noeuds (répertoires), il faudra actualiser l'arbre à chaque fois.
- Pour lister le contenu d'un répertoire, j'ai en tête glob.glob('*'). Il y a mieux? pire?
Voilà. En fait le script servira à cet usage mais dans la mesure du possible j'aimerais garder la possibilité de l'utiliser pour autre chose plus tard, d'où la question sur le "maximum depth recursion".
Merci d'avance à tous ceux qui m'aiguilleront.
Pourquoi ne pas utiliser os.walk :
http://docs.python.org/lib/os-file-dir.html
Il y a même un exemple qui fait ce que tu veux !
Bonjour,
J'ai un collègue qui a fait un CDRom de toute une arborescence de fichiers.
Je l'ai copué sur mon disque dur.
Mon souci c'est qu'il a la sale habitude d'avoir mis des espaces et des
caractères accentués (é,è et ê) dans les noms de fichiers.
Il y a environ 5000 fichiers avec une profondeur variable mais inférieure
à 10.
Je voudrais faire le script de renommage en Python.
Le but est de renommer les fichiers et répertoires en remplaçant les
espaces par '_' et les 'é'|'è'|'ê' par des 'e' (On ne traitera pas les
cas ou il y a risque d'écrasement).
J'ai juste l'algorithme en tête, mais je me heurte à un dilemme que je
souhaite éclaircir avant de coder.
- Recursivité ou pas? Est ce que la profondeur de 10 va péter à coup sûr
en "maximum depth recursion"?
- Voir les choses en arbres? Oui mais comme on va renommer des noeuds
(répertoires), il faudra actualiser l'arbre à chaque fois.
- Pour lister le contenu d'un répertoire, j'ai en tête glob.glob('*'). Il
y a mieux? pire?
Voilà. En fait le script servira à cet usage mais dans la mesure du
possible j'aimerais garder la possibilité de l'utiliser pour autre chose
plus tard, d'où la question sur le "maximum depth recursion".
Pourquoi ne pas utiliser os.walk : http://docs.python.org/lib/os-file-dir.html Il y a même un exemple qui fait ce que tu veux !
Bonjour,
J'ai un collègue qui a fait un CDRom de toute une arborescence de fichiers. Je l'ai copué sur mon disque dur. Mon souci c'est qu'il a la sale habitude d'avoir mis des espaces et des caractères accentués (é,è et ê) dans les noms de fichiers. Il y a environ 5000 fichiers avec une profondeur variable mais inférieure à 10. Je voudrais faire le script de renommage en Python. Le but est de renommer les fichiers et répertoires en remplaçant les espaces par '_' et les 'é'|'è'|'ê' par des 'e' (On ne traitera pas les cas ou il y a risque d'écrasement).
J'ai juste l'algorithme en tête, mais je me heurte à un dilemme que je souhaite éclaircir avant de coder.
- Recursivité ou pas? Est ce que la profondeur de 10 va péter à coup sûr en "maximum depth recursion"?
- Voir les choses en arbres? Oui mais comme on va renommer des noeuds (répertoires), il faudra actualiser l'arbre à chaque fois.
- Pour lister le contenu d'un répertoire, j'ai en tête glob.glob('*'). Il y a mieux? pire?
Voilà. En fait le script servira à cet usage mais dans la mesure du possible j'aimerais garder la possibilité de l'utiliser pour autre chose plus tard, d'où la question sur le "maximum depth recursion".
Merci d'avance à tous ceux qui m'aiguilleront.
Jerome
R12y wrote:
snip
- Recursivité ou pas? Est ce que la profondeur de 10 va péter à coup sûr en "maximum depth recursion"?
ce que tu as à faire peut se dérecursifier très facilement avec une liste une fois que tu auras l'algo récursif.
to_deal = [racine]
while to_deal: el = to_deal[0] del to_deal[0] ... to_deal += sons(el)
par exemple
R12y wrote:
snip
- Recursivité ou pas? Est ce que la profondeur de 10 va péter à coup sûr
en "maximum depth recursion"?
ce que tu as à faire peut se dérecursifier très facilement avec une
liste une fois que tu auras l'algo récursif.
to_deal = [racine]
while to_deal:
el = to_deal[0]
del to_deal[0]
...
to_deal += sons(el)
- Recursivité ou pas? Est ce que la profondeur de 10 va péter à coup sûr en "maximum depth recursion"?
ce que tu as à faire peut se dérecursifier très facilement avec une liste une fois que tu auras l'algo récursif.
to_deal = [racine]
while to_deal: el = to_deal[0] del to_deal[0] ... to_deal += sons(el)
par exemple
Laurent Pointal
Frédéric Momméja wrote:
R12y écrivait le 28/09/05 23:09 :
Je voudrais faire le script de renommage en Python. Le but est de renommer les fichiers et répertoires en remplaçant les espaces par '_' et les 'é'|'è'|'ê' par des 'e' (On ne traitera pas les cas ou il y a risque d'écrasement).
Et plus précisément "4.2. Supprimer les accents": http://wikipython.flibuste.net/moin.py/JouerAvecUnicode#head-1213938516c633958921591439c33d202244e2f4 ...
Frédéric Momméja wrote:
R12y écrivait le 28/09/05 23:09 :
Je voudrais faire le script de renommage en Python.
Le but est de renommer les fichiers et répertoires en remplaçant les
espaces par '_' et les 'é'|'è'|'ê' par des 'e' (On ne traitera pas les
cas ou il y a risque d'écrasement).
Et plus précisément "4.2. Supprimer les accents":
http://wikipython.flibuste.net/moin.py/JouerAvecUnicode#head-1213938516c633958921591439c33d202244e2f4
...
Je voudrais faire le script de renommage en Python. Le but est de renommer les fichiers et répertoires en remplaçant les espaces par '_' et les 'é'|'è'|'ê' par des 'e' (On ne traitera pas les cas ou il y a risque d'écrasement).
Et plus précisément "4.2. Supprimer les accents": http://wikipython.flibuste.net/moin.py/JouerAvecUnicode#head-1213938516c633958921591439c33d202244e2f4 ...
R12y
On Thu, 29 Sep 2005 09:02:04 +0200, Frédéric Momméja wrote:
Et s'il a également mis des 'à' et des 'ç' ? ;)
Si j'arrive à faire pour les différents 'e', je peux le faire pour les autres. Je ne voulais pas surcharger l'ennoncer de mon problème c'est tout :-)
Amaury m'avais offert une solution extrêmement élégante. [...]
Effectivement ça m'évite de créer mes propres functions. Merci. Bon je commence le codage. Je mettrai le code avec les commentaires quelquepart quand j'aurais fini.
-- SPIP, phpNuke, Plone, opengroupware... c'est bien CPS c'est mieux: http://www.cps-project.org/ Hébergement de sites CPS: http://www.objectis.org/
On Thu, 29 Sep 2005 09:02:04 +0200, Frédéric Momméja wrote:
Et s'il a également mis des 'à' et des 'ç' ? ;)
Si j'arrive à faire pour les différents 'e', je peux le faire pour les
autres. Je ne voulais pas surcharger l'ennoncer de mon problème c'est tout
:-)
Amaury m'avais offert une solution extrêmement
élégante.
[...]
Effectivement ça m'évite de créer mes propres functions.
Merci.
Bon je commence le codage. Je mettrai le code avec les commentaires
quelquepart quand j'aurais fini.
--
SPIP, phpNuke, Plone, opengroupware... c'est bien
CPS c'est mieux: http://www.cps-project.org/
Hébergement de sites CPS: http://www.objectis.org/
Effectivement ça m'évite de créer mes propres functions. Merci. Bon je commence le codage. Je mettrai le code avec les commentaires quelquepart quand j'aurais fini.
-- SPIP, phpNuke, Plone, opengroupware... c'est bien CPS c'est mieux: http://www.cps-project.org/ Hébergement de sites CPS: http://www.objectis.org/
Do Re Mi chel La Si Do
Bonsoir !
Toutafé ! Et, pour une fois que le paramètre "topdown" de os.walk pourrait servir à quelque chose, ce serait bien d'en profiter.
@-salutations
Michel Claveau
Bonsoir !
Toutafé !
Et, pour une fois que le paramètre "topdown" de os.walk pourrait servir à
quelque chose, ce serait bien d'en profiter.