TypeError: приведение к Unicode: нужна строка или буфер, экземпляр найден - PullRequest
0 голосов
/ 23 апреля 2019

Я не понимаю, почему этот код возвращает мне следующую ошибку:

Traceback (most recent call last):
  File "/usr/lib/cgi-bin/elecgazsender.py", line 76, in <module>
    email()
  File "/usr/lib/cgi-bin/elecgazsender.py", line 61, in email
    part.set_payload(open(item, "rb").read())
TypeError: coercing to Unicode: need string or buffer, instance found

Вот код: (Я сократил отправку электронной почты smtpserver)

#!/usr/bin/env python
#-*- coding:utf-8 -*-
import cgi, cgitb, smtplib, os
from email.mime.application import MIMEApplication
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email.mime.text import MIMEText
from email import encoders

form = cgi.FieldStorage()
item = form['facture']

part = MIMEBase('application', "octet-stream")
part.set_payload(open(item, "rb").read())
encoders.encode_base64(part)
part.add_header('Content-Disposition', 'attachment; filename="favicon.png"')
msg.attach(part)

Спасибокаждый !

Я хочу, чтобы open func работал с моим экземпляром формы !!

Спасибо!

...