【发布时间】:2015-04-23 21:56:22
【问题描述】:
我正在尝试使用rstrip 方法从我的电子邮件内容中删除一些不必要的字符。我尝试使用print(r) 调试程序,但出现此错误:
File "/home/******/Desktop/loung/imap.py", line 23, in signin
r = raw_email.rstrip('\r\n')
TypeError: Type str doesn 't support the buffer API
这是什么意思?
我的代码如下:
from tkinter import ttk
from tkinter import *
import tkinter, imaplib,email
def signin(w,x,s):
tkgui = tkinter.Tk()
tkgui.title('Inbox %s'%w)
mail=imaplib.IMAP4_SSL(('%s'%s),993)
mail.login(('%s'%w ), ('%s'%x))
mail.list()
mail.select("INBOX")
result, data = mail.search(None, "ALL")
ids = data[0]
id_list = ids.split()
tree = ttk.Treeview(tkgui)
for i in range(-1,0):
result, data = mail.fetch(id_list[i], '(RFC822)')
raw_email = data[0][1]
d = email.message_from_bytes(raw_email)
tree.insert('',0,value=(d['Date'],d['From'],d['Subject']))
tree['columns']=['Date','From','Subject']
r=raw_email.rstrip('\r\n')
print(r)
for col in tree['columns']:
tree.heading(col,text=col)
tree.pack(side=TOP,fill=BOTH,expand=1)
tkgui.mainloop()
【问题讨论】:
-
只执行一次的 for 循环有什么意义?
标签: python python-3.x tkinter