目標: 把當前目錄下指定型別檔案傳送郵件
說明:經常需要把一些小檔案如*.txt,或者*.py,*.doc之類的檔案傳送到郵箱裡供使用或備份
用qq郵箱客戶端什麼的實在是太麻煩了
只要把自己需要傳送的檔案全部放到當前目錄下,**就可以一鍵傳送了.
本人純程式設計小白,歡迎指教
import smtplibimport email.mime.text
import email.mime.multipart
# 1.取得當前目錄下指定檔案的檔名列表,預設為txt
def get_type_file(keyword='.txt'): # 這裡可以更改副檔名如.doc,.py,.zip等等
# 列印當前的工作目錄
print("當前目錄為: ",os.getcwd())
# 列舉當前工作目錄下的檔名
files=os.listdir()
keyword=keyword
filelist=
i=0for file in files:
if keyword in file:
i=i+1
print(i,file)
return filelist
# 2. 把列表內的檔案傳送到指定郵箱
def send_email(filelist, content=""):
smtphost = 'smtp.139.com' # 139郵箱smtp伺服器
sendaddr = '傳送人郵箱'
password = '郵箱密碼' # 163郵箱,則為授權碼
receiver = '收件人郵箱'
subject = "郵件標題"
content = '正文內容'
msg = mimemultipart()
msg['from'] = sendaddr
msg['to'] = receiver
msg['subject'] = subject
txt = mimetext(content, 'plain', 'utf-8')
msg.attach(txt) # 新增郵件正文
# 新增附件,傳送filelist列表裡的檔案
filename = ""
i = 0
for file in filelist:
i = i + 1
filename = file
# print(str(i),filename)
part.add_header('content-disposition', 'attachment', filename=filename)
msg.attach(part)
server = smtplib.smtp(smtphost, 25) # smtp協議預設埠為25
# server.set_debuglevel(1) # 出錯時可以檢視
server.login(sendaddr, password)
server.sendmail(sendaddr, receiver, str(msg))
print("\n"+ str(len(filelist)) + "個檔案傳送成功")
server.quit()
3 主程式
def main():
filelist = get_type_file()
send_email(filelist)
main()
autojump 一鍵直達目錄
如果在linux系統下工作,命令列中切換目錄是最常用的操作.進入乙個目錄需要不停地cd ls 現在的終端提供了強大的自動補全來處理路徑的問題.但是仍然需要通過不停的敲擊cd tab來完成目錄的切換.想想這樣低效的操作違背的linux的設計原則,從而autojump應運而生,使用它之後,你一定會對它的...
python 獲取當前目錄下的檔案目錄和檔名
os模組下有兩個函式 os.walk os.listdir 1 coding utf 8 23 import os 45 deffile name file dir 6for root,dirs,files in os.walk file dir 7print root 當前目錄路徑 8print ...
Python一鍵多值
import csv file path f jddata classify300.csv csvfile file file path,rb reader csv.reader csvfile 初始化字典 adict dict 遍歷csv檔案裡的每一行資料,其中imagename為資料的第一列,c...