问题描述
我正在使用 exe
c 命令调用带有参数的 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
解决方法
您可以使用 len(sys.argv)
来计算您实际获得的输入参数的数量。并使用类似的方法将您想要的参数设为空白(仅举个例子,根据您的情况进行调整):
arg5 = sys.argv[5] if len(sys.argv) >= 6 else ""