2017-03-19 2 views
-2

컴파일 중이 오류가 발생합니다. 이유는 알고 있지만 해결책을 찾지 못한 이유는 초보자입니다. 이 문제는 라인, 라인 (34)에서와 다른 .This이Python에서 들여 쓰기가 잘못되어 구문 오류가 발생했습니다.

파일 "check.py"두 번째 편집 후 34

else: 
^

IndentationError을 발생 예상 들여 쓰기 블록

#!/usr/bin/python 
# -*- coding: utf-8 -*- 
from wand.image import Image 
from PIL import Image as Img 
import os 
import sys 
import numpy as np 
import glob 

# put all resume in a directory (inp_dir) 

inp_dir = '/home/sameer/Downloads/resumes/resume_v7/' 

# expect all txt files in this dir (out_dir) 

out_dir = './pdf_img3/' 

# filenames in all_resumes folder 

filename1 = [x for x in os.listdir(inp_dir)] 
for f in filename1: 
    try: 
     with Image(filename=inp_dir + f, resolution=200) as img: 

     # keep good quality 

      img.compression_quality = 80 
      f = f.split('.')[0] 
      img.save(filename='%s%s.jpg' % (out_dir, f)) 


    except Exception as err: 
     print err 
    else: 

     pathsave = [] 
     try: 
      #print 'there must be 2 pages in the pdf' 
      list_im = glob.glob('%s/%s*.jpg' % (out_dir, f)) 
      list_im.sort() # sort the file before joining it 
      imgs = [Img.open(i) for i in list_im] 

      # now lets Combine several images vertically with Python 

      min_shape = sorted([(np.sum(i.size), i.size) for i in 
          imgs])[0][1] 
      imgs_comb = np.vstack(np.asarray(i.resize(min_shape)) 
           for i in imgs) 

      # for horizontally change the vstack to hstack 

      imgs_comb = Img.fromarray(imgs_comb) 
      pathsave = '%s%s-f.jpg' % (out_dir, f) 

      # now save the image 

      imgs_comb.save(pathsave) 

      # and then remove all temp image 

      for i in list_im: 
       os.remove(i) 
     except Exception as err: 
      exit() 
+2

들여 쓰기와는 아무 관련이 없습니다. 코드에 어떤 함수도 없으므로 반환 할 정확히 무엇을 기대합니까? – jonrsharpe

+2

당신은'return'을 가지고 있지만 실제로 보여준 코드에 대해 정의 된 함수가 있습니까? – idjaw

+1

이것은 들여 쓰기 문제가 아닙니다. 'return'은 어떻게 생각하십니까? – user2357112

답변

0

당신 경우 try 블록에서 False를 반환하려고하면 try 블록을 함수 내부에 넣어야합니다. TestFunction은 이미지가 좋은지 테스트하고 True 또는 False를 반환합니다. TestFunction이 True를 리턴하면 다음 단계로 진행하고, 그렇지 않으면 오류 메시지를 인쇄하고 중단 또는 종료하십시오.

관련 문제