Vous devez probablement appeler la méthode load() pour forcer la méthode open() à faire son travail. l'ouverture est paresseuse.
Essayez:
from PIL import Image
im = Image.open("D:\\Python26\\PYTHON-PROGRAMME\\bild.jpg")
im.load()
im.show()
Idée # 2: fichier de Patch PIL Image.py d'avoir une approche potentiellement plus robuste pour l'utilisation du shell Windows pour afficher votre image. Dans la méthode _showxv, remplacer les lignes suivantes:
if os.name == "nt":
command = "start /wait %s && del /f %s" % (file, file)
avec
if os.name == "nt":
command = "%s" % file
Je pense que le problème avec la mise en œuvre actuelle est que la commande del après la & & exécute immédiatement après la commande de démarrage plutôt qu'après la fin du résultat de la commande de démarrage. Ainsi, le fichier a déjà été supprimé au moment où l'afficheur d'images est prêt à charger et à l'afficher.
Sauvegardez votre copie du code avant de le patcher.
Quel était le message d'erreur? Avez-vous un stacktrace? – rui
il n'y a aucun message dans IDLE. Le visualiseur d'image affiche le message: l'image est supprimée ou déplacée. Mais je pense que c'est faux. Qu'est-ce que stacktrace? – kame
Est-ce la stacktrace? [('', 1, '', Aucun), ('D: \\ Python26 \\ lib \\ idlelib \\ run.py', 93, 'main', 'ret = méthode (* args, * * kwargs) '), (' D: \\ Python26 \\ lib \\ idlelib \\ run.py ', 293,' runcode ',' exec code dans self.locals '), (' D: \\ Python26 \ \ PYTHON-PROGRAMME \\ 00000000000000000 ', 11,' ',' x() '), (' D: \\ Python26 \\ PYTHON-PROGRAMME \\ 00000000000000000 ', 5,' x ',' print traceback.extract_stack() ')] –
kame