2012-07-30 40 views
9

Tôi sử dụng PIL để mở các tệp AREA từ NOAA một cách thường xuyên. Trong loạt ảnh cuối cùng tôi nhận được, lệnh image.open() không hoạt động. Dưới đây là một mã đơn giản tôi đã viết trong đó mang lại kết quả tương tự. Nó sẽ mở, xoay và thực hiện các tác vụ thông thường với một tệp từ một tháng trước và không phải với tệp từ hôm nay.PIL image.open() hoạt động đối với một số hình ảnh nhưng không phải ảnh khác

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

Dưới đây là các lỗi:

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 

Dưới đây là những gì tôi đã cố gắng:

  1. Mở hình ảnh trên hai máy riêng biệt.
  2. Thay đổi thư mục của tệp trong trường hợp có sự cố cấp phép
  3. Tải xuống lại hình ảnh, cũng như hai lô khác, cả hai đều sử dụng FTP theo cách thủ công VÀ tập lệnh tự động của chúng tôi.

Giả thuyết của tôi là đã xảy ra sự cố với tập lệnh tải xuống của chúng tôi và tệp đó không tải xuống đầy đủ tệp, nhưng giả thuyết đó bị từ chối bởi thực tế là các tệp mới có kích thước chính xác và tôi đã tải xuống chúng theo cách thủ công sử dụng ứng dụng khách FTP và có cùng kết quả.

Lý thuyết duy nhất khác của tôi là có vấn đề với các tệp NOAA hôm nay hoặc chúng đã bị thay đổi theo cách mà PIL không thể xử lý chúng nữa, nhưng tôi thấy điều đó là không thể.

Bất kỳ giúp đánh giá cao rất nhiều, Cảm ơn

+2

Bạn có thể cung cấp liên kết đến một trong các hình ảnh, giả sử rằng hình ảnh đó đang mở không? – DSM

+0

bạn có biết định dạng hình ảnh giống nhau không? cài đặt PIL của bạn có hỗ trợ định dạng JPG/PNG/TIFF không? –

+0

Các hình ảnh là cục bộ, được tải xuống từ trang web của NOAA CLASS. Tôi không có lý do gì để tin rằng định dạng tệp khác nhau, vì chúng tôi đã sử dụng cùng một phương pháp trong nhiều năm. –

Trả lời

4

lẽ là nội dung không thực sự đồng bộ hóa với đĩa. hãy thử Image.open(open("path/to/file", 'rb'))

+0

Tôi đã gặp vấn đề tương tự với django-ckeditor. Cuộc gọi ngay lập tức của 'Image.open (tên tệp)' sau tên tập tin là kết quả mới được tạo ra trong: "IOError: không thể xác định tệp hình ảnh". Nhưng sau đó tôi gọi 'Image.openImage.open (tên tệp) 'thủ công, không có lỗi xảy ra! Vì vậy, tôi đã cố gắng thay đổi 'Image.open (filename)' thành 'Image.open (mở (filename, 'rb'))' và sau đó nó là OK. – wonder

+0

Nó không hoạt động cho tôi khi tôi cố đọc một tệp PNG. –

Các vấn đề liên quan