2013-10-19 279 views
1

我正在讀取具有不同圖像類型的文件夾,如果它們不在格式中,則將其保存爲此格式。將文件保存爲jpg格式

但是,當我嘗試以這種格式保存它們時,我得到一個IOError。我已確認我正在閱讀文件內容:

我正在嘗試使用PIL庫執行此操作。這是代碼:這裏

folder = os.listdir("C:\***\***\***\\abc") 
for infile in folder: 
    f,e = os.path.splitext(infile) 
    newFile = f + ".jpg" 
    if infile != newFile: 
     try: 
      Image.open(infile).save(newFile) 
      print "DONE" 
     except IOError: 
      print "Cannot convert file", infile 
    else: 
     print "File: " + f + " is in jpg format" 

檢查輸出

folder= os.listdir("C:\***\***\***\\abc") 
print folder 
for infile in folder: 
    print infile 

目前我得到的錯誤信息:

Image.open(infile).save(newFile) 
File "C:\Python27\lib\site-packages\PIL\Image.py", line 1952, in open 
fp = __builtin__.open(fp, "rb") 
IOError: [Errno 2] No such file or directory: 'empire.bmp' 

這是相當多的代碼從資源的:http://effbot.org/imagingbook /introduction.htm

謝謝

+0

它完美的作品在我的機器上。你有什麼錯誤信息? – yakiang

+0

沒有具體的錯誤...只是執行除了分支 – user94628

+1

使用此獲取錯誤消息和回溯:http://stackoverflow.com/questions/1715198/exception-message-python-2-6/1715222#1715222 – kren470

回答

3

可能是你的infile無法識別,試試這個:

originFile = 'C:\***\***\***\\abc\%s' % infile 
Image.open(originFile).save(newFile) 
+0

是的...有效。必須沒有正確拾取文件路徑。謝謝 – user94628

+1

oops我忘了把'newfile'改成絕對路徑,它應該是。 @ user94628 – yakiang

+0

感謝您的提示 – user94628

1

嘗試使用pgmagick圖書館,我總是用於這項任務,它始終爲我做的工作。它非常易於使用。閱讀它的任何格式的圖像並保存爲JPG格式(通過替換路徑擴展)