Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
命令行电子邮件实用程序(Python)的进度条_Python_Email_Smtp - Fatal编程技术网

命令行电子邮件实用程序(Python)的进度条

命令行电子邮件实用程序(Python)的进度条,python,email,smtp,Python,Email,Smtp,我一直在开发一个命令行实用程序,使用python中的电子邮件模块发送电子邮件 一切正常,但我真的需要添加一个基于百分比的进度,以显示有多少文件已上传到程序中。有可能吗 下面是我的代码 message = MIMEMultipart() message["From"] = sender_email message["To"] = receiver_email message["Subject"] = subject filename =

我一直在开发一个命令行实用程序,使用python中的电子邮件模块发送电子邮件

一切正常,但我真的需要添加一个基于百分比的进度,以显示有多少文件已上传到程序中。有可能吗

下面是我的代码

message = MIMEMultipart()
message["From"] = sender_email
message["To"] = receiver_email
message["Subject"] = subject

filename = "~"

with open(filename, "rb") as attachment:
    part = MIMEBase("application", "octet-stream")
    part.set_payload(attachment.read())
  
encoders.encode_base64(part)

part.add_header(
    "Content-Disposition",
    "attachment; filename= %s" %file,
)

message.attach(part)
text = message.as_string()

context = ssl.create_default_context()
with smtplib.SMTP_SSL("smtp.gmail.com", 465, context=context) as server:
    server.login(sender_email, password)
    server.sendmail(sender_email, receiver_email, text)
    server.close()
print("Email Sent")

smtplib库中有什么方法可以帮助我做到这一点吗?提前感谢。

您可以使用TQM pythonlibrary@ck22我认为问题不在于决定使用哪个进度条库,而在于如何获取更新进度条的值。是否要附加非常大的文件?我认为在
smtplib
中没有任何工具可以跟踪上传进度。(如果您想跟踪“批量电子邮件发送”的进度,那么ck22指出,像
tqdm
progressbar2
之类的东西可能会很有用)文件不是很大,但大小在1-10MB之间