2015-11-18 2 views
1

я проверял с питона скрипт для отправки электронной почты с приложением и наткнулся на строку кода, как[sys.argv [0]] означает в питона

attachments = [sys.argv[0]] 

Так я не понимаю, если я должен передайте переменную пути вложений через это ИЛИ, как он сам использует путь к файлу вложений или что это означает в ниже фрагменте кода.

email = Email(from_='"%s" <%s>' % (name, email), #you can pass only email 
      to='"%s" <%s>' % (to_name, to_email), #you can pass only email 
      subject=subject, message=message, attachments=attachments) 

так как/где передать файл вложения (путь) к вышеуказанному коду.

Просьба пояснить. или кто-нибудь может дать мне пример, по которому я могу отправить электронное письмо с телом сообщения и с прикреплением к нескольким идентификаторам электронной почты.

ответ

2

Добавьте имя файла вложения в команду, где вы выполнили файл питона:

python myfile.py attachment_file.txt 

sys.argv[1] получает первый аргумент командной строки.

+0

ASwin, должен ли я добавить только файл attachment_file.txt или полный путь к файлу – Satya

+2

@Aswin ... не то, что первым аргументом этой командной строки является 'myfile.py' и на самом деле должен находиться в коде' attachments = [sys.argv [1]] '? –

+0

@ KhalilAmmour- خليلعمور: Да 1. Извините. 0 используется в Java: P –

2

Ваш код предполагает, что первое имя файла, переданное пользователем в качестве аргумента командной строки, будет отправлено как прикрепление вместе с почтой. Таким образом

вы должны использовать

attachments = [sys.argv[1]] 

вместо

attachments = [sys.argv[0]] 

прикрепленного аргумента в электронной почте() ожидает, что список имен файлов и ваш скрипт настроен на отправку только один файл в качестве прикрепленного. Вы можете сделать это, чтобы отправить более одного файла с помощью

attachments = sys.argv[1:] 
1

Я считаю, что если вы измените в коде строку:

attachments = [sys.argv[0]] к attachments = [sys.argv[1]], он должен работать для вас, в качестве первого аргумента в команде линия (argv[0]) является имя файла сценария (myfile.py, например)

Что касается пути вложения, идентификатор файла вложение находится в той же папке, что и файл сценария (myfile.py), то только имя из файла вложения будет достаточно, иначе вы чтобы предоставить полный путь к файлу вложения.

+0

, если у вас есть время, вы можете указать мне пример кода, по которому я могу отправить электронное письмо с сообщением BODY (в mimemultipart или любым предпочтительным способом) и с прикреплением к MULTIPLE email ids также ... это будет очень полезно для меня как новичок. Спасибо. – Satya

Смежные вопросы