2014-11-23 103 views
0

我导入了一个文件background_image.txt,其中包含字符串参考background_image是一个base 64编码图形。当我编译程序,我得到的错误日志中的错误:解码base 64编码图形时无法理解错误

Traceback (most recent call last): 
    File "main.py", line 23, in <module> 
    background_image = io.StringIO(base64.decode(background_image.background_image)) 
TypeError: decode() missing 1 required positional argument: 'output' 

这是线#23

background_image = io.StringIO(base64.decode(background_image.background_image)) # line 23 

这是减少verison我的计划。这个程序使用tkinter创建一个窗口,使用base 64编码图形作为画布背景。

# modules 
from tkinter import * 
from PIL import ImageTk, Image 
import io 
import base64 

# imported files 
import background_image 

# variables 
background_image = io.StringIO(base64.decode(background_image.background_image)) # line 23 

# window creation 
root = Tk() 

# canvas creation 
canvas = Canvas(root, width=600, height=600, bd=-2) 
canvas.pack() 

# canvas attributes 
background = ImageTk.PhotoImage(file=background_image) 
canvas.create_image(0, 0, image=background, anchor=NW) 
text = canvas.create_text(125, 75, anchor=CENTER) 

# end 
root.after(0, display) 
root.mainloop() 

回答

3

根据the documentation,base64.decode有2个参数:输入和输出。

您当然想要使用base64.b64decode(s),它返回解码后的字符串。

+0

这两个参数都应该是文件。 – 2014-11-23 12:58:51