2012-07-30 8 views
9

मैं नियमित रूप से एनओएए से एरिया फ़ाइलों को खोलने के लिए पीआईएल का उपयोग करता हूं। मुझे प्राप्त छवियों के आखिरी बैच में, image.open() कमांड बस काम नहीं करता है। यहां एक साधारण कोड लिखा गया है जो एक ही परिणाम उत्पन्न करता है। यह एक महीने पहले से फाइल के साथ सामान्य कार्यों को खोल देगा, घुमाएगा और करेगा, और आज से फाइल के साथ नहीं।पीआईएल image.open() कुछ छवियों के लिए काम कर रहा है लेकिन अन्य नहीं

from PIL import Image 
im = Image.open("path/to/file") 
im.show() 

यहाँ त्रुटि है:

File "image_goes.py", line 2, in <module> 
im = Image.open("path/to/file") 
File "/usr/lib/python2.6/dist-packages/PIL/Image.py", line 1980, in open 
raise IOError("cannot identify image file") 
IOError: cannot identify image file 

यहाँ मैं क्या कोशिश की है है:

  1. दो अलग-अलग मशीनों पर छवि खुल रहा है।
  2. अनुमति की समस्या होने पर फ़ाइल के फ़ोल्डर को बदलना
  3. एफ़टीपी मैन्युअल रूप से और हमारी स्वचालित स्क्रिप्ट का उपयोग करके छवि को फिर से लोड करना, साथ ही दो अन्य बैच।

मेरे परिकल्पना हमारे डाउनलोड स्क्रिप्ट के साथ एक समस्या थी कि था और कहा कि यह पूरी तरह से फाइल को डाउनलोड नहीं किया गया था, लेकिन उस परिकल्पना तथ्य यह है कि नई फ़ाइलों को सही आकार के होते हैं और अस्वीकार कर दिया है कि मैं उन्हें मैन्युअल रूप से डाउनलोड किया एक एफ़टीपी क्लाइंट का उपयोग करके और एक ही परिणाम मिला।

मेरा एकमात्र अन्य सिद्धांत यह है कि आज एनओएए फाइलों में कोई समस्या है या वे इस तरह से बदल दिए गए हैं कि पीआईएल अब उन्हें संभाल नहीं सकता है, लेकिन मुझे लगता है कि यह असंभव है।

किसी भी मदद की बहुत सराहना, धन्यवाद

+2

क्या आप छवियों में से किसी एक को लिंक दे सकते हैं, यह मानते हुए कि यह खुला है? – DSM

+0

क्या आप जानते हैं कि छवि प्रारूप समान है या नहीं? क्या आपके पीआईएल इंस्टॉलेशन में जेपीजी/पीएनजी/टीआईएफएफ प्रारूपों का समर्थन है? –

+0

छवियां स्थानीय हैं, एनओएए क्लास वेबसाइट से डाउनलोड की गईं। मेरे पास यह विश्वास करने का कोई कारण नहीं है कि फ़ाइल प्रारूप अलग है, क्योंकि हम वर्षों से उसी विधि का उपयोग कर रहे हैं। –

उत्तर

4

हो सकता है कि हो सकता है सामग्री वास्तव में डिस्क पर समन्वयित नहीं है। Image.open(open("path/to/file", 'rb'))

+0

मैं django-ckeditor के साथ एक ही समस्या से मुलाकात की। फ़ाइल नाम के बाद 'Image.open (फ़ाइल नाम) 'की तत्काल कॉल में नया बनाया गया परिणाम:" IOError: छवि फ़ाइल की पहचान नहीं कर सकता "। लेकिन बाद में मैं 'Image.openImage.open (फ़ाइल नाम) 'मैन्युअल रूप से कॉल करता हूं, कोई त्रुटि नहीं हुई! तो मैंने 'Image.open (फ़ाइल नाम) 'को' Image.open (खुला (फ़ाइल नाम,' आरबी ') में बदलने की कोशिश की) और फिर यह ठीक है। – wonder

+0

जब मैं एक पीएनजी फ़ाइल पढ़ने की कोशिश करता हूं तो यह मेरे लिए काम नहीं करता है। –

संबंधित मुद्दे