Bonjour,
Ayant récupéré une archive faite avec un outil sans doute peu
recommandable, je me retrouve avec un dossier où les noms commencent
tous par "rep"
Voulant renommer ces fichiers j'utilise os.rename (python 3) :
###
import os
for nom in os.listdir(".") :
print(nom," --> ",nom[4:])
os.rename(nom,nom[4:])
###
Je reçois en réponse
>>>
OSError: [Errno 2] No such file or directory
>>>
rename n'aime pas les "" dans les noms de fichier.
Une suggestion ?
Bonjour,
Ayant récupéré une archive faite avec un outil sans doute peu
recommandable, je me retrouve avec un dossier où les noms commencent
tous par "rep"
Voulant renommer ces fichiers j'utilise os.rename (python 3) :
###
import os
for nom in os.listdir(".") :
print(nom," --> ",nom[4:])
os.rename(nom,nom[4:])
###
Je reçois en réponse
>>>
OSError: [Errno 2] No such file or directory
>>>
rename n'aime pas les "" dans les noms de fichier.
Une suggestion ?
Bonjour,
Ayant récupéré une archive faite avec un outil sans doute peu
recommandable, je me retrouve avec un dossier où les noms commencent
tous par "rep"
Voulant renommer ces fichiers j'utilise os.rename (python 3) :
###
import os
for nom in os.listdir(".") :
print(nom," --> ",nom[4:])
os.rename(nom,nom[4:])
###
Je reçois en réponse
>>>
OSError: [Errno 2] No such file or directory
>>>
rename n'aime pas les "" dans les noms de fichier.
Une suggestion ?
Le 13/11/2012 18:19, François Couloigner a écrit :Bonjour,
Ayant récupéré une archive faite avec un outil sans doute peu
recommandable, je me retrouve avec un dossier où les noms commencent
tous par "rep"
Voulant renommer ces fichiers j'utilise os.rename (python 3) :
###
import os
for nom in os.listdir(".") :
print(nom," --> ",nom[4:])
os.rename(nom,nom[4:])
###
Je reçois en réponse
>>>
OSError: [Errno 2] No such file or directory
>>>
rename n'aime pas les "" dans les noms de fichier.
Une suggestion ?
Est-ce que remplacer les par des / suffit ?
nom.replace("", "/")
Nicolas
Le 13/11/2012 18:19, François Couloigner a écrit :
Bonjour,
Ayant récupéré une archive faite avec un outil sans doute peu
recommandable, je me retrouve avec un dossier où les noms commencent
tous par "rep"
Voulant renommer ces fichiers j'utilise os.rename (python 3) :
###
import os
for nom in os.listdir(".") :
print(nom," --> ",nom[4:])
os.rename(nom,nom[4:])
###
Je reçois en réponse
>>>
OSError: [Errno 2] No such file or directory
>>>
rename n'aime pas les "" dans les noms de fichier.
Une suggestion ?
Est-ce que remplacer les par des / suffit ?
nom.replace("\", "/")
Nicolas
Le 13/11/2012 18:19, François Couloigner a écrit :Bonjour,
Ayant récupéré une archive faite avec un outil sans doute peu
recommandable, je me retrouve avec un dossier où les noms commencent
tous par "rep"
Voulant renommer ces fichiers j'utilise os.rename (python 3) :
###
import os
for nom in os.listdir(".") :
print(nom," --> ",nom[4:])
os.rename(nom,nom[4:])
###
Je reçois en réponse
>>>
OSError: [Errno 2] No such file or directory
>>>
rename n'aime pas les "" dans les noms de fichier.
Une suggestion ?
Est-ce que remplacer les par des / suffit ?
nom.replace("", "/")
Nicolas
Bonjour,
Ayant récupéré une archive faite avec un outil sans doute peu
recommandable, je me retrouve avec un dossier où les noms commencent
tous par "rep"
Voulant renommer ces fichiers j'utilise os.rename (python 3) :
###
import os
for nom in os.listdir(".") :
print(nom," --> ",nom[4:])
os.rename(nom,nom[4:])
###
Je reçois en réponse
>>>
OSError: [Errno 2] No such file or directory
>>>
rename n'aime pas les "" dans les noms de fichier.
Une suggestion ?
Bonjour,
Ayant récupéré une archive faite avec un outil sans doute peu
recommandable, je me retrouve avec un dossier où les noms commencent
tous par "rep"
Voulant renommer ces fichiers j'utilise os.rename (python 3) :
###
import os
for nom in os.listdir(".") :
print(nom," --> ",nom[4:])
os.rename(nom,nom[4:])
###
Je reçois en réponse
>>>
OSError: [Errno 2] No such file or directory
>>>
rename n'aime pas les "" dans les noms de fichier.
Une suggestion ?
Bonjour,
Ayant récupéré une archive faite avec un outil sans doute peu
recommandable, je me retrouve avec un dossier où les noms commencent
tous par "rep"
Voulant renommer ces fichiers j'utilise os.rename (python 3) :
###
import os
for nom in os.listdir(".") :
print(nom," --> ",nom[4:])
os.rename(nom,nom[4:])
###
Je reçois en réponse
>>>
OSError: [Errno 2] No such file or directory
>>>
rename n'aime pas les "" dans les noms de fichier.
Une suggestion ?
Oui: il faut "échapper" le backslash, pour ça je ne vois qu'une seule
solution: le taper explicitement.
Oui: il faut "échapper" le backslash, pour ça je ne vois qu'une seule
solution: le taper explicitement.
Oui: il faut "échapper" le backslash, pour ça je ne vois qu'une seule
solution: le taper explicitement.
PiLS writes:
'Lut,Oui: il faut "échapper" le backslash, pour ça je ne vois qu'une seule
solution: le taper explicitement.
Il est préférable d'utiliser os.sep :
http://docs.python.org/2/library/os.html?highlight=os.sep#os.sep
PiLS <pils@invalid.ca> writes:
'Lut,
Oui: il faut "échapper" le backslash, pour ça je ne vois qu'une seule
solution: le taper explicitement.
Il est préférable d'utiliser os.sep :
http://docs.python.org/2/library/os.html?highlight=os.sep#os.sep
PiLS writes:
'Lut,Oui: il faut "échapper" le backslash, pour ça je ne vois qu'une seule
solution: le taper explicitement.
Il est préférable d'utiliser os.sep :
http://docs.python.org/2/library/os.html?highlight=os.sep#os.sep
Oui: il faut "échapper" le backslash, pour ça je ne vois qu'une seule
solution: le taper explicitement.
Par exemple
for nom in listdir("."):
nomcourt=nom[4:]
os.rename("rep"+nomcourt, nomcourt)
ou bien
for nom in listdir("."):
nomcourt=nom[4:]
os.rename(r"rep"+nomcourt, nomcourt)
(note: pas testé, mais les deux devraient marcher)
Oui: il faut "échapper" le backslash, pour ça je ne vois qu'une seule
solution: le taper explicitement.
Par exemple
for nom in listdir("."):
nomcourt=nom[4:]
os.rename("rep\"+nomcourt, nomcourt)
ou bien
for nom in listdir("."):
nomcourt=nom[4:]
os.rename(r"rep"+nomcourt, nomcourt)
(note: pas testé, mais les deux devraient marcher)
Oui: il faut "échapper" le backslash, pour ça je ne vois qu'une seule
solution: le taper explicitement.
Par exemple
for nom in listdir("."):
nomcourt=nom[4:]
os.rename("rep"+nomcourt, nomcourt)
ou bien
for nom in listdir("."):
nomcourt=nom[4:]
os.rename(r"rep"+nomcourt, nomcourt)
(note: pas testé, mais les deux devraient marcher)
Eric Masson :PiLS writes:
'Lut,Oui: il faut "échapper" le backslash, pour ça je ne vois qu'une seule
solution: le taper explicitement.
Il est préférable d'utiliser os.sep :
http://docs.python.org/2/library/os.html?highlight=os.sep#os.sep
Préférable et portable, mais quand il s'agit du séparateur renvoyé par
l'OS. Ici le problème initial était différent: "Ayant récupéré une
archive " etc.
Il y a peut-être moyen d'accéder quel que soit l'OS au séparateur de
Windows (par exemple), genre os.windows.sep, mais je ne connais pas,
faudrait voir les sources ou les docstrings. A moins que ce qui concerne
les autres OS ne passe pas la compilation de l'interprêteur ?
Eric Masson :
PiLS <pils@invalid.ca> writes:
'Lut,
Oui: il faut "échapper" le backslash, pour ça je ne vois qu'une seule
solution: le taper explicitement.
Il est préférable d'utiliser os.sep :
http://docs.python.org/2/library/os.html?highlight=os.sep#os.sep
Préférable et portable, mais quand il s'agit du séparateur renvoyé par
l'OS. Ici le problème initial était différent: "Ayant récupéré une
archive " etc.
Il y a peut-être moyen d'accéder quel que soit l'OS au séparateur de
Windows (par exemple), genre os.windows.sep, mais je ne connais pas,
faudrait voir les sources ou les docstrings. A moins que ce qui concerne
les autres OS ne passe pas la compilation de l'interprêteur ?
Eric Masson :PiLS writes:
'Lut,Oui: il faut "échapper" le backslash, pour ça je ne vois qu'une seule
solution: le taper explicitement.
Il est préférable d'utiliser os.sep :
http://docs.python.org/2/library/os.html?highlight=os.sep#os.sep
Préférable et portable, mais quand il s'agit du séparateur renvoyé par
l'OS. Ici le problème initial était différent: "Ayant récupéré une
archive " etc.
Il y a peut-être moyen d'accéder quel que soit l'OS au séparateur de
Windows (par exemple), genre os.windows.sep, mais je ne connais pas,
faudrait voir les sources ou les docstrings. A moins que ce qui concerne
les autres OS ne passe pas la compilation de l'interprêteur ?
À (at) Mon, 26 Nov 2012 06:30:35 +0100,
Pierre Maurette écrivait (wrote):Eric Masson :PiLS writes:
'Lut,Oui: il faut "échapper" le backslash, pour ça je ne vois qu'une seule
solution: le taper explicitement.
Il est préférable d'utiliser os.sep :
http://docs.python.org/2/library/os.html?highlight=os.sep#os.sep
Préférable et portable, mais quand il s'agit du séparateur renvoyé par
l'OS. Ici le problème initial était différent: "Ayant récupéré une
archive " etc.
Il y a peut-être moyen d'accéder quel que soit l'OS au séparateur de
Windows (par exemple), genre os.windows.sep, mais je ne connais pas,
faudrait voir les sources ou les docstrings. A moins que ce qui concerne
les autres OS ne passe pas la compilation de l'interprêteur ?
Soit effectivement, il existe un module tout prêt pour gérer les chemins
de manière spécifique à l'OS courant (sans avoir à s'en préoccuper).
Soit, il suffit d'utiliser le '/' (à la place de '') que la
bibliothèque Windows comprend depuis des lustres. Et si les chemins
proviennent d'une source externe et contiennent des '', un petit
traitement préalable pour remplacer tous les '' par des '/'
fonctionnera très bien...
À (at) Mon, 26 Nov 2012 06:30:35 +0100,
Pierre Maurette <maurette.pierre@free.fr> écrivait (wrote):
Eric Masson :
PiLS <pils@invalid.ca> writes:
'Lut,
Oui: il faut "échapper" le backslash, pour ça je ne vois qu'une seule
solution: le taper explicitement.
Il est préférable d'utiliser os.sep :
http://docs.python.org/2/library/os.html?highlight=os.sep#os.sep
Préférable et portable, mais quand il s'agit du séparateur renvoyé par
l'OS. Ici le problème initial était différent: "Ayant récupéré une
archive " etc.
Il y a peut-être moyen d'accéder quel que soit l'OS au séparateur de
Windows (par exemple), genre os.windows.sep, mais je ne connais pas,
faudrait voir les sources ou les docstrings. A moins que ce qui concerne
les autres OS ne passe pas la compilation de l'interprêteur ?
Soit effectivement, il existe un module tout prêt pour gérer les chemins
de manière spécifique à l'OS courant (sans avoir à s'en préoccuper).
Soit, il suffit d'utiliser le '/' (à la place de '') que la
bibliothèque Windows comprend depuis des lustres. Et si les chemins
proviennent d'une source externe et contiennent des '', un petit
traitement préalable pour remplacer tous les '' par des '/'
fonctionnera très bien...
À (at) Mon, 26 Nov 2012 06:30:35 +0100,
Pierre Maurette écrivait (wrote):Eric Masson :PiLS writes:
'Lut,Oui: il faut "échapper" le backslash, pour ça je ne vois qu'une seule
solution: le taper explicitement.
Il est préférable d'utiliser os.sep :
http://docs.python.org/2/library/os.html?highlight=os.sep#os.sep
Préférable et portable, mais quand il s'agit du séparateur renvoyé par
l'OS. Ici le problème initial était différent: "Ayant récupéré une
archive " etc.
Il y a peut-être moyen d'accéder quel que soit l'OS au séparateur de
Windows (par exemple), genre os.windows.sep, mais je ne connais pas,
faudrait voir les sources ou les docstrings. A moins que ce qui concerne
les autres OS ne passe pas la compilation de l'interprêteur ?
Soit effectivement, il existe un module tout prêt pour gérer les chemins
de manière spécifique à l'OS courant (sans avoir à s'en préoccuper).
Soit, il suffit d'utiliser le '/' (à la place de '') que la
bibliothèque Windows comprend depuis des lustres. Et si les chemins
proviennent d'une source externe et contiennent des '', un petit
traitement préalable pour remplacer tous les '' par des '/'
fonctionnera très bien...
En effet. Sauf que là on essaie de renommer un fichier dont le nom
contient un backslash. On ne parle pas de séparateurs.
Bon de toute façon le backslash n'était même pas vraiement le
problème apparemment, donc tout ma réponse est un peu vaine. Désolé
En effet. Sauf que là on essaie de renommer un fichier dont le nom
contient un backslash. On ne parle pas de séparateurs.
Bon de toute façon le backslash n'était même pas vraiement le
problème apparemment, donc tout ma réponse est un peu vaine. Désolé
En effet. Sauf que là on essaie de renommer un fichier dont le nom
contient un backslash. On ne parle pas de séparateurs.
Bon de toute façon le backslash n'était même pas vraiement le
problème apparemment, donc tout ma réponse est un peu vaine. Désolé
À (at) Mon, 26 Nov 2012 16:07:45 +0000 (UTC),
PiLS écrivait (wrote):En effet. Sauf que là on essaie de renommer un fichier dont le nom
contient un backslash. On ne parle pas de séparateurs.
Un nom de fichier qui contient un backslash sur un filesystem NTFS...
j'ai quand même un gros doute. Êtes-vous sûr que c'est bien le cas ?
[...]Bon de toute façon le backslash n'était même pas vraiement le
problème apparemment, donc tout ma réponse est un peu vaine. Désolé
Bon alors c'est quoi le problème ?
arrh désolé, c'était un pb de répertoire : je lisais la liste des
fichiers d'un sous-repertoire et appliquais rename dans le répertoire
courant.
François
import os
for nom in os.listdir(".") :
print(nom," --> ",nom[4:])
os.rename(nom,nom[4:])
import os
for nom in os.listdir(".") :
À (at) Mon, 26 Nov 2012 16:07:45 +0000 (UTC),
PiLS <pils@invalid.ca> écrivait (wrote):
En effet. Sauf que là on essaie de renommer un fichier dont le nom
contient un backslash. On ne parle pas de séparateurs.
Un nom de fichier qui contient un backslash sur un filesystem NTFS...
j'ai quand même un gros doute. Êtes-vous sûr que c'est bien le cas ?
[...]
Bon de toute façon le backslash n'était même pas vraiement le
problème apparemment, donc tout ma réponse est un peu vaine. Désolé
Bon alors c'est quoi le problème ?
arrh désolé, c'était un pb de répertoire : je lisais la liste des
fichiers d'un sous-repertoire et appliquais rename dans le répertoire
courant.
François
import os
for nom in os.listdir(".") :
print(nom," --> ",nom[4:])
os.rename(nom,nom[4:])
import os
for nom in os.listdir(".") :
À (at) Mon, 26 Nov 2012 16:07:45 +0000 (UTC),
PiLS écrivait (wrote):En effet. Sauf que là on essaie de renommer un fichier dont le nom
contient un backslash. On ne parle pas de séparateurs.
Un nom de fichier qui contient un backslash sur un filesystem NTFS...
j'ai quand même un gros doute. Êtes-vous sûr que c'est bien le cas ?
[...]Bon de toute façon le backslash n'était même pas vraiement le
problème apparemment, donc tout ma réponse est un peu vaine. Désolé
Bon alors c'est quoi le problème ?
arrh désolé, c'était un pb de répertoire : je lisais la liste des
fichiers d'un sous-repertoire et appliquais rename dans le répertoire
courant.
François
import os
for nom in os.listdir(".") :
print(nom," --> ",nom[4:])
os.rename(nom,nom[4:])
import os
for nom in os.listdir(".") :