python基礎---->python的使用(三)

來源:互聯網
上載者:User

標籤: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使用。

  • huhx.py檔案內容如下:
# defined a moduleusername = "Linux"def sayMyName():    print("My name is ", username)
  • huhx5.py檔案內容如下:
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的使用(三)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.