2016-04-07 39 views
0

Python E-posta eki eklemek için çalışıyorum ve ben hata almaya devam:Python dosya eki hatası

IsADirectoryError: [Errno 21] Bir dizin: '/ Users/myname/Masaüstü/Güncel Masaüstü yardım için

file = "myfile.pdf" 
attachment = open("/Users/myname/Desktop/Current Desktop/Folder","rb") 

part = MIMEBase('application', 'octet-stream') 
part.set_payload((file).read()) 
encoders.encode_base64(part) 
part.add_header('Content-Disposition', "attachment; filename=%s" % file) 

Teşekkür:/Klasör'

İşte benim kodudur!

+0

gibi bir şey '/ Users/myname/Masaüstü/Akım Masaüstü/Folder' bir dizindir istiyorum? Görünüşe göre ... –

+0

Bir dizin eklemeyi deniyor gibisiniz. İlk önce zip ya da tarball yapmak isteyebilirsiniz ve sonra ekleyiniz .. – karthikr

+0

bu eklemeye çalıştığım -myfile.pdf dosyasını içeren bir dizin. Ek için dosya yolunu yazmaya çalışıyordum. Sanırım bir şey anlamadım. – user3353890

cevap

1

Sana

with open("/Users/myname/Desktop/Current Desktop/Folder/" + "myfile.pdf", "rb") as file: 

    part = MIMEBase('application', 'octet-stream') 
    part.set_payload(file.read()) 
    encoders.encode_base64(part) 
    part.add_header('Content-Disposition', "attachment; filename=%s" % file) 
+0

Bu mükemmel çalıştı, bir demet teşekkürler! Değiştirilmesi gereken tek şey, rb'nin "rb" gibi tekliflerde olması gerekiyor. Bunun dışında kusursuz çalıştı! 3 dakika içinde yapabileceğim zaman cevabı kabul edeceğim. – user3353890

+0

whoops, haklısın. –

+0

Sorun değil! Kolay düzeltme. Tekrar teşekkürler! – user3353890