用Python獲取 py檔案行數並發郵件給自己

2021-10-04 09:54:31 字數 2667 閱讀 7631

學習python,每天告訴自己當前已經敲了多少行**,以此激勵自己。

import os,time,datetime

deflines_messege

(file_name)

:#(傳入檔名即可獲取行數,需要完整路徑名)

if file_name[-3

:]=='.py'

:#只獲取py檔案的行數

myfile =

open

(file_name,

'r', encoding=

'utf-8'

) lines =

len(myfile.readlines())

myfile.close(

)return lines

defdir_all

(path=

['d:\\pycharm工作空間\\常規學習**'

,'d:\\pycharm工作空間\\資料分析學習'

,'d:\\pycharm工作空間\\爬蟲從入門到實踐'])

:#(傳入檔案路徑,得到包含所有檔案的列表),預設引數是這三個資料夾

path=

#儲存所有檔案的完整路徑

for d in path:

os.chdir(d)

all_file = os.listdir(

)#目錄下的所有檔案,列表形式

for i in all_file:

#組合它們的完整路徑

"\\"

+i)return path

defmain()

: start_time = time.time(

) all_lines =

0for name in dir_all():

if lines_messege(name)

!=none

:#不知道為什麼最後乙個檔案的行數為none,或者這個檔案根本不存在

all_lines=all_lines+lines_messege(name)

end_time=time.time(

) times=

round

((end_time - start_time),2

) lines=

'恭喜你,截至{},你已經編寫了{}個**;\t已經敲了{}行**,再接再厲!'

.format

(datetime.datetime.now(

).strftime(

'%f'),

len(dir_all())

,all_lines)

print

("完成,共有{}行,耗時{}秒"

.format

(all_lines,times)

)return lines

if __name__ ==

'__main__'

:print

(main())

# typeerror:

# smtplib 用於郵件的發信動作

import smtplib

from email.mime.text import mimetext

# email 用於構建郵件內容

from email.header import header

# 用於構建郵件頭

# 發信方的資訊:發信郵箱,qq 郵箱授權碼

from_addr =

'自己的qq郵箱'

password =

'你的授權碼'

#授權碼

# 收信方郵箱

to_addr =

'收件方郵箱'

# 發信伺服器

smtp_server =

'smtp.qq.com'

# 郵箱正文內容,第乙個引數為內容,第二個引數為格式(plain 為純文字),第三個引數為編碼

msg = mimetext(main(),

'plain'

,'utf-8'

)# 郵件頭資訊

msg[

'from'

]= header(from_addr)

#傳送方資訊

msg[

'to'

]= header(to_addr)

#收件人

msg[

'subject'

]= header(

'python里程碑'

)#郵件標題

# 開啟發信服務,這裡使用的是加密傳輸

server = smtplib.smtp_ssl(smtp_server)

##把server = smtplib.smtp_ssl()修改為server = smtplib.smtp_ssl(smtp_server)

server.connect(smtp_server,

465)

# 登入發信郵箱

server.login(from_addr, password)

# 傳送郵件

server.sendmail(from_addr, to_addr, msg.as_string())

# 關閉伺服器

server.quit(

)print

('郵件已傳送成功!'

)

剛學習沒多久,**不簡潔,技術很差,大佬勿噴哈。

python獲取大檔案行數

背景 處理一些日誌或者請求資料時,幾百萬行的資料,有時候在做效能測試任務時估算出大概需要的詞表數,需要一定行數的資料,需要提前看下原始檔案大小,在這記一下,的確比較快 如下 獲取檔案行數,一塊一塊讀取 def get file lines filepath with open filepath,rb...

python 獲取較大 csv檔案的行數

所謂較大.csv檔案,就是直接用pd.read csv讀取,會出現memoryerror.這時需要把檔案變成迭代器,分段讀取.user info pd.read csv e data analysis graduation design data weibo users.csv iterator t...

用py2exe打包python檔案

start here print hello py2exe raw input press any key to finish end here 6。再建乙個檔案 setup.py 7。在 setup.py 中輸入以下 start here from distutils.core import se...