Python - отправка электронной почты с приложением CSV - PullRequest
1 голос
/ 12 июля 2019

У меня есть скрипт, который создает файл CSV для последующего использования для отправки по электронной почте.Я сталкиваюсь с проблемами, открывающими файл как доступный только для чтения, чтобы затем отправить как вложение.Ниже приведен мой текущий код.

#Below code creates the CSV file
keys = lstMaster[0].keys()

with open('myfile.csv' , 'w') as outputFile:
    writer = csv.DictWriter(outputFile, keys)
    writer.writeheader()
    writer.writerows(lstMaster)

def createEmail(outputFile)
    msg = MIMEMultipart()
    msg['Subject'] = 'CSV report'
    msg['From'] = "email@domain.com"
    msg['To'] = (["me@domain.com"])
    msg.preamble = 'Attachment' 

    with open(outputFile, newline='') as file:
        attachment = csv.DictReader(file)

    attachment.add_header('Content-Disposition', 'attachment', `enter code here`filename='myfile.csv')
    msg.attach(attachment)

Я не получаю никаких сообщений об ошибках, но код умирает при попытке открыть файл CSV в функции createEmail "с открытым (outputFile, newline = '') файлом: ".

1 Ответ

0 голосов
/ 12 июля 2019

В итоге вместо вызова outputFile в операторе «read» мне нужно было вызвать само имя файла.

with open(outputFile, newline='') as file:

изменилось на:

with open('filename', 'r') as file:
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...