首页 > 解决方案 > Python - 如何传递空白参数 - 有时我想要电子邮件的空白 cc

问题描述

我正在使用exec 命令调用带有参数的 python 脚本来发送电子邮件。有时我想保持cc空白,但是当我这样做时会出错

IndexError: list index out of range

如何将空白cc作为参数传递给 python 脚本?

FileName - attachment <br/>
Subject - message body <br/>
rec_list - 'To' list <br/>
Filepath - location of file to attach <br/>
Email_CC - 'CC' list  - *`this is null or blank`* <br/>
Email_BCC - 'BCC' list <br/>

$G_SendMail_Return=exec('cmd.exe','[$GV_FileName3]'||' '||'[$G_Subject]'||' '||'[$G_Rec_List]'||' '|| '[$GV_Filepath]'||' '|| '[$G_Email_CC]'||' '|| '[$G_Email_BCC]' ,8);

代码

import smtplib <br/>
from email.mime.text import MIMEText <br/>
from email.mime.multipart import MIMEMultipart <br/>
from email.mime.base import MIMEBase <br/>
from email import encoders <br/>
import os.path <br/>
import sys <br/>

arg1 = sys.argv[1]; <br/>
arg2 = sys.argv[2]; <br/>
arg3 = sys.argv[3]; <br/>
arg4 = sys.argv[4]; <br/>
arg5 = sys.argv[5]; <br/>

错误:

sys.argv[5];  IndexError: list index out of range

标签: pythonemailargv

解决方案


您可以使用len(sys.argv)来计算实际获得的输入参数数量。并使用类似这样的方法将您想要的参数设为空白(只是一个示例,根据您的情况进行调整):

arg5 = sys.argv[5] if len(sys.argv) >= 6 else ""

推荐阅读