Bonjour !
Je suis en train de buter sur un pb complètement basique : il s'agit de prendre une image du répertoire courant, de la transformer, et de déplacer la transformation dans un sous répertoire créé à l'occasion.
Et ça plante au déplacement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 #imports import sys, os.path, os, glob, shutil from PIL import Image #récupération chemin dossier courant chemin=os.path.dirname(sys.argv[0]) courant = os.path.abspath(chemin) #création du sous répertoire os.mkdir('web') dest=os.path.join(courant, 'web') #transformation des images jpg du répertoire courant size = 800, 600 for infile in glob.glob("*.jpg"): #transformation f, e = os.path.splitext(infile) im = Image.open(infile) im.thumbnail(size, Image.ANTIALIAS) im.save("T_" + f+e, "JPEG") #déplacement du fichier dans /web thumb=os.path.basename(im) out=os.path.join(dest, thumb) shutil.move(im, out), comme dit là :
Traceback (most recent call last):
File "C:/Python24/Scripts/pymaweb/test2.py", line 22, in -toplevel-
thumb=os.path.basename(im)
File "C:\Python24\lib\ntpath.py", line 200, in basename
return split(p)[1]
File "C:\Python24\lib\ntpath.py", line 164, in split
d, p = splitdrive(p)
File "C:\Python24\lib\ntpath.py", line 119, in splitdrive
if p[1:2] == ':':
File "C:\Python24\Lib\site-packages\PIL\Image.py", line 493, in __getattr__
raise AttributeError(name)
AttributeError: __getitem__
J'ai comme la vague certitude que les méthodes de os.path et shutil ne peuvent pas être appliquées à des instances Image.open().
Donc question : comment peut-on utiliser les manipulations de path sur des objets issus de PIIL ?
Merci d'avance !
Gram'
Partager