今天在學python時,在模仿一個為圖片加上圖標並移動到指定文件夾的程序時遇到“FileNotFoundError: [Errno 2] No such file or directory: '1528712892362.jpg'”這個問題。
講講解決方案,因為我要處理的十幾張圖片是位於 ‘F:\圖片’ 這個路徑下的,但是讀取到具體的某一個文件時忘記使用絕對路徑,如果沒有為文件加上前面的絕對路徑的話,我的理解是默認在程序所在的路徑作為當前路徑來查找的,所以就會報錯說找不到文件。
后來加上代碼中的第10行,並在16行中稍作修改就行了。
1 import os 2 from PIL import Image 3 SQUARE_FIT_SIZE=500 4 LOGO_FILENAME='catlogo.png' 5 logoIm=Image.open(LOGO_FILENAME) 6 width1,height1=logoIm.size 7 logoIm1=logoIm.resize((int(width1/5),int(height1/5))) 8 logoWidth,logoHeight=logoIm1.size 9 logoIm=logoIm1 10 root='F:/圖片/' 11 os.makedirs('withLogo',exist_ok=True) 12 for filename in os.listdir('F:\圖片'): 13 print(filename) 14 if not (filename.endswith('.png') or filename.endswith('.jpg')) or filename==LOGO_FILENAME: 15 continue 16 im=Image.open(root+filename) 17 width,height=im.size 18 print('Resizing %s...'%(filename)) 19 im=im.resize((width,height)) 20 print('Adding logo to %s...'%(filename)) 21 im.paste(logoIm,(width-logoWidth,height-logoHeight),logoIm) 22 im.save(os.path.join('withLogo',filename))