我想制作一個自動電子郵件腳本,它會自動附加給定文件夾中的某個文件并通過電子郵件發送該文件。我試過這個文件,我在電子郵件腳本中手動附加文件。我不想編輯代碼,每次發送電子郵件時都重命名文件。對于發送的自動電子郵件,我在 python 中使用yagmail模塊。[注:使用Windows系統]在 myproject/Attendance 目錄中,有四個文件。這是文件名和列表。myproject\Attendance\Attendance_2019-08-22_00-38-17.csvmyproject\Attendance\Attendance_2019-08-24_13-34-43.csvmyproject\Attendance\Attendance_2019-08-24_14-11-44.csvmyproject\Attendance\Attendance_2019-08-24_14-44-53.csv代碼片段import yagmailreceiver = "[email protected]" # receiver email addressbody = "Attendence File" # email bodyfilename = "Attendance\Attendance_2019-08-24_13-34-43.csv" # attach the file# mail informationyag = yagmail.SMTP("[email protected]", "mypassword")# sent the mailyag.send( to=receiver, subject="Attendance Report", # email subject contents=body, # email body attachments=filename, # file attached)我想選擇最后創建的考勤文件并自動附加在電子郵件中。例如,這里在出勤目錄中創建了最后一個文件,名為"Attendance_2019-08-24_14-44-53.csv"。該文件將被選中并附在電子郵件中。謝謝,提前。
2 回答

紫衣仙女
TA貢獻1839條經驗 獲得超15個贊
os.listdir
將為您獲取目錄中的所有文件名。根據“最后創建”的語義,您可以執行以下任一操作:
對文件名進行排序:看起來它們是常規格式。整理順序中的第一個是最近的日期。
使用
os
命令能力查詢每個文件的實際創建日期。保留最新的創建日期和文件名。
請注意,它可以更直接:發出系統命令以按時間順序列出文件,然后簡單地從返回的列表中取出最后一個文件。對于 UNIX(包括 Linux),這將是ls -ltr Attendance*
.

楊魅力
TA貢獻1811條經驗 獲得超6個贊
選項 1:如果您有 Unix 文件系統,則使用ls -lrt '
帶有時間戳的 'do grep 或使用 withawk
命令來生成最后一個文件。然后你可以附加你的文件。
選項 2:獲取先前文件名的變量并獲取最近生成的文件名并進行比較,然后附加到電子郵件
添加回答
舉報
0/150
提交
取消