python一鍵傳送 當前目錄下檔案到郵箱

2021-08-21 14:38:12 字數 1864 閱讀 3164

目標: 把當前目錄下指定型別檔案傳送郵件

說明:經常需要把一些小檔案如*.txt,或者*.py,*.doc之類的檔案傳送到郵箱裡供使用或備份

用qq郵箱客戶端什麼的實在是太麻煩了

只要把自己需要傳送的檔案全部放到當前目錄下,**就可以一鍵傳送了.

本人純程式設計小白,歡迎指教

import smtplib

import 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...