2013-02-12 7 views
2

Bonjour tout le monde que je suis en train d'ouvrir une image que j'ai téléchargé via un lien. J'ai cherché sur le site et trouvé quelque chose de très utile et l'ai implémenté dans mon code. L'erreur se produit sur la 7ème ligne "droste = Image.open("droste.png")". Je reçois un IOError: impossible d'identifier le fichier image. Je sais que l'image a été téléchargée parce que les codes fonctionnent bien jusqu'à cette ligne particulière et la ligne print "Got it!" confirme en fait qu'elle a été téléchargée. Je ne sais pas si j'ai besoin de spécifier le chemin du fichier image dans le paramètre à l'ouverture à la place du nom de l'image. Ou peut-être que j'ai besoin de vérifier le chemin du fichier. S'il vous plaît aider.Ouvrir une image erreur Python

+6

De quelle façon est que C#? Ce –

+4

sûr est pas du code C# ... – Spontifixus

+2

Cela ressemble plus à python. – pascalhein

Répondre

2

Votre code est fonctionnel. Le problème est comment vous l'exécutez. Vous avez mentionné dans vos commentaires que vous utilisez PythonAnywhere. PythonAnywhere n'est pas configuré pour faire quoi que ce soit de graphique. Il va télécharger l'image dans le bon répertoire, mais PIL ne fonctionnera pas correctement avec PythonAnywhere.

Essayez le code suivant pour tester.

import urllib 

if __name__ == "__main__": 
    droste = urllib.urlopen("http://is.gd/cHqT") 
    with open("droste.png", "wb") as imgFile: 
     imgFile.write(droste.read()) 
    print "Got it!" 

    print "Now lets test if it really exists..." 
    try: 
     with open("droste.png", "rb") as imgFile: 
      pass 
     print "There were no errors so the file exists" 
    except: 
     print "ERROR: image was not saved properly!" 

Si vous démarrez une session BASH avec PythonAnywhere, vous verrez que le fichier existe droste.png, et vous pouvez le télécharger sur votre ordinateur et voir. Votre programme est OK.

Si vous voulez vraiment utiliser votre programme, ou prendre au sérieux la programmation python. Vous devriez vraiment installer Python localement sur votre ordinateur. Si vous souhaitez conserver votre code dans le cloud, utilisez dropbox, github ou bitbucket. PythonAnywhere a des utilisations, mais normalement vous voudrez juste avoir python sur votre ordinateur.