Bonjour

Envoyé par
wiztricks
utilisez/apprenez avec une 3.2 ou mieux une 3.3.
J'ai téléchargé python 3.3 pour windows. Il semble effectivement que cette modification ait fait avancer un peu la chose car le caractère spécial ne semble plus poser de problème.
MAIS
J'ai maintenant un autre soucis llié à cette modification. Mon programme est censé regarder tous les fichiers qui sont dans le répertoire source, et pour ceux dont le nom a une certaine forme, les déplacer dans un répertoire de destination qui est de la forme source+nom de fichier.
grosso modo le code est le suivant:
SOURCE = "O:\\Rep1\\Sous-Rep1\\probläm\\"
for file_name in os.listdir(SOURCE):
if re.match(r'^(AB_01).*\.txt$',file_name):
FINAL_DEST = SOURCE+file_name[6:8]+"\\"
shutil.move(SOURCE+file_name,FINAL_DEST)
Je ne sais pas si c'est très clair 
Toujours est-il qu'avec cette nouvelle version de python j'ai maintenant:
if re.match(r'^(VD_61).*\.txt$',file_name):
File "C:\Python33\lib\re.py", line 156, in match
return _compile(pattern, flags).match(string)
TypeError: can't use a string pattern on a bytes-like object
Et là j'ai un peu de mal à voit comment faire: si je convertis mon nom de fichier en bytes-like object, comment faire pour la concaténation de chaine qui définit le répertoire FINAL_DEST?
Merci de votre aide!
Partager