標籤:count 就是 *** 簡單 import attr python基礎 自訂 附件
今天是2017-05-03,這裡記錄一些python的基礎使用方法。世上存在著不能流淚的悲哀,這種悲哀無法向人解釋,即使解釋人家也不會理解。它永遠一成不變,如無風夜晚的雪花靜靜沉積在心底。
Python的基礎學習一、python中函數作為參數
import mathdef add(x, y, f): return f(x) + f(y)print(add(25, 9, math.sqrt)) # 8.0
二、python引用自訂模組
在同目錄下面定義兩個檔案huhx.py和huhx5.py。其中huhx.py作為一個模組供huhx5.py使用。
# defined a moduleusername = "Linux"def sayMyName(): print("My name is ", username)
import huhxhuhx.sayMyName();
三、python檔案的讀寫
# 檔案的寫,這一般用於寫比較短的字元with open(‘../file/huhx.xml‘, ‘w‘, encoding=‘utf-8‘) as f: f.write(‘您好, huhx!‘)
# 檔案的讀,這一般用於讀取比較短的字元with open(‘../file/huhx.xml‘, ‘r‘, encoding=‘utf-8‘) as f: print(f.read())
四、python中stmtp簡單發送郵箱
import smtplibfrom email.header import Headerfrom email.mime.text import MIMETextfrom email.utils import parseaddr, formataddrdef _format_addr(s): name, addr = parseaddr(s) return formataddr((Header(name, ‘utf-8‘).encode(), addr))from_addr = ‘****‘password = ‘*****‘to_addr = ‘******‘smtp_server = ‘smtpcom.263xmail.com‘msg = MIMEText(‘hello, my name is huhx.‘, ‘plain‘, ‘utf-8‘)msg[‘From‘] = _format_addr(‘huhx <%s>‘ % from_addr)msg[‘To‘] = _format_addr(‘linux <%s>‘ % to_addr)msg[‘Subject‘] = Header(‘subject info‘, ‘utf-8‘).encode()server = smtplib.SMTP(smtp_server, 465)server.set_debuglevel(1)server.login(from_addr, password)server.sendmail(from_addr, [to_addr], msg.as_string())server.quit()
如果發送的是html郵件,則將上述的msg改為如下:
msg = MIMEText(‘<html><body><h1>Hello</h1>‘ + ‘<p>send by <a href="http://www.python.org">Python</a>...</p>‘ + ‘</body></html>‘, ‘html‘, ‘utf-8‘)
如果需要發送附件:
import smtplibfrom email import encodersfrom email.header import Headerfrom email.mime.base import MIMEBasefrom email.mime.multipart import MIMEMultipartfrom email.mime.text import MIMETextfrom email.utils import parseaddr, formataddrdef _format_addr(s): name, addr = parseaddr(s) return formataddr((Header(name, ‘utf-8‘).encode(), addr))from_addr = ‘****‘password = ‘*****‘to_addr = ‘***@qq.com‘smtp_server = ‘smtpcom.263xmail.com‘# 郵件對象:msg = MIMEMultipart()msg[‘From‘] = _format_addr(‘hello <%s>‘ % from_addr)msg[‘To‘] = _format_addr(‘huhx <%s>‘ % to_addr)msg[‘Subject‘] = Header(‘subject info‘, ‘utf-8‘).encode()# 郵件內文是MIMEText:msg.attach(MIMEText(‘send with file...‘, ‘plain‘, ‘utf-8‘))# 添加附件就是加上一個MIMEBase,從本地讀取一個圖片:with open(‘huhx.png‘, ‘rb‘) as f: # 設定附件的MIME和檔案名稱,這裡是png類型: mime = MIMEBase(‘image‘, ‘png‘, filename=‘test.png‘) # 加上必要的頭資訊: mime.add_header(‘Content-Disposition‘, ‘attachment‘, filename=‘test.png‘) mime.add_header(‘Content-ID‘, ‘<0>‘) mime.add_header(‘X-Attachment-Id‘, ‘0‘) # 把附件的內容讀進來: mime.set_payload(f.read()) # 用Base64編碼: encoders.encode_base64(mime) # 添加到MIMEMultipart: msg.attach(mime)server = smtplib.SMTP(smtp_server, 465)server.set_debuglevel(1)server.login(from_addr, password)server.sendmail(from_addr, [to_addr], msg.as_string())server.quit()
五、python中簡單的html解析
from html.parser import HTMLParserclass MyHTMLParser(HTMLParser): def handle_starttag(self, tag, attrs): print("Encountered a start tag:", tag) def handle_endtag(self, tag): print("Encountered an end tag :", tag) def handle_data(self, data): print("Encountered some data :", data)parser = MyHTMLParser()parser.feed(‘<html><head><title>Test</title></head>‘ ‘<body><h1>Parse me!</h1></body></html>‘)
啟動並執行結果如下
Encountered a start tag: htmlEncountered a start tag: headEncountered a start tag: titleEncountered some data : TestEncountered an end tag : titleEncountered an end tag : headEncountered a start tag: bodyEncountered a start tag: h1Encountered some data : Parse me!Encountered an end tag : h1Encountered an end tag : bodyEncountered an end tag : html
友情連結
python基礎---->python的使用(三)