Python - 如何传递空白参数 - 有时我想要电子邮件的空白抄送

Python - How to pass blank argument - sometimes I want blank cc for an email

我正在使用 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

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

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