2016-08-25 2 views
-2

업로드 된 pdf 파일을 이미지로 분할하려하지만 최소 2 개의 인수 (1 개)를 가져 오는 것과 같은 오류가 나타납니다.TypeError 문제를 해결하는 방법 : __init __()이 (가) 주어진 인수가 2 개 이상이어야합니다. 오류

이 오류는 이미 알고 있지만 내 프로그램에서 해결하기가 혼란 스럽습니다.

from pyPdf import PdfFileWriter, PdfFileReader 
from wand.image import Image 
import os 

from Tkinter import * 
from tkFileDialog import askopenfilename 
root =Tk() 
root.geometry("500x500") 

class MyFrame(Frame): 
    def __init__(self): 
     Frame.__init__(self) 
     self.master.title("pdf") 
     self.master.rowconfigure(5, weight=1) 
     self.master.columnconfigure(5, weight=1) 
     self.grid(sticky=W+E+N+S) 
     label = Label(self,text="Upload a pdf file",font = ('Arial' , 25)) 
     label.pack() 
     self.Label1=Label(self) 
     self.Label1.pack() 
     self.button = Button(self, text="Upload", command=self.load_file, fg="red", width=10).pack(side=TOP, expand=YES) 
     self.pack(fill=BOTH, expand=YES) 

    def load_file(self): 
     fname = askopenfilename() 
     self.Label1.config(text=os.path.basename(fname), fg="blue") 
     self.im = Image(filename=fname, resolution=200) 
     for i, page in enumerate(im.sequence): 
      with Image(page) as page_image: 
       page_image.alpha_channel = False 
       page_image.save(filename='page-%s.png' % i) 

     print "suceSsfully" 
if __name__ == "__main__": 
    MyFrame().mainloop() 

이 코드를 실행할 때마다이 오류가 발생합니다.

File "root.py", line 27, in load_file 
    self.im = Image(filename=fname, resolution=200) 
TypeError: __init__() takes at least 2 arguments (1 given) 
+1

오른쪽의 ** 관련 ** 목록에서 비슷한 질문이 보이지 않습니까? – Barmar

+0

그래, 나는 봤지만 혼란 스럽다. 제발 도와주세요. – Thala

+0

어떤 라인에서 에러가 발생합니까? 추적과 관련된 전체 오류는 무엇입니까? – Barmar

답변

2

Tkinter는 자신의 Image 클래스 Tkinter.Image입니다 있습니다. wand.image.Image을 가져온 후에 Tkinter에서 모두 가져올 때, 클래스를 Tkinter에서 사용하기 시작합니다. Tkinterimport Tkinter as tk으로 가져오고 tk.class_name과 함께 사용하거나 Image 대신 명시 적으로 wand.image.Image을 사용해야합니다.