python常用庫總結(II)

python常用庫總結(II)

1. 發送郵件

用於發送郵件,使用該模塊必須先導入模塊:

(1)smtp

import smtplib

  • 創建SMTP的操作對象並連接smtp目標服務器,可以是163、QQ等 server = smtplib.SMTP(mailserver, port)
  • 根據自己的賬號登錄目標服務器(自己的郵箱地址和郵箱授權碼)server.login(sender, passwd)
  • 調用對象中的方法,發送郵件到目標地址server.sendmail(sender, receive, msg.as_string())

常用郵箱的smtp服務器地址:
新浪郵箱:smtp.sina.com,搜狐郵箱:smtp.sohu.com,qq郵箱:smtp.qq.com,網易郵箱:smtp.163.com

(2)email

from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart

如果構造一個MIMEText對象,就表示一個文本郵件對象,如果構造一個MIMEImage對象,就表示一個作爲附件的圖片對象,要把多個對象組合起來,就用MIMEMultipart對象,他代表的是整個郵件。

A.MIMEText對象中有三個需要我們設置的參數,一個是正文內容,一個是正文內容的類型,例如:”text/plain”和”text/html”,一個是正文內容的編碼。text_sub = MIMEText(connect,‘plain’, ‘utf-8’)

2. json yaml 文件處理

JSON(JavaScript Object Notation, JS 對象標記) 是一種輕量級的數據交換格式。JSON的數據格式其實就是python裏面的字典格式,裏面可以包含方括號括起來的數組,也就是python裏面的列表。
import json

  • json.dump() 將python數據對象以JSON格式數據流的形式寫入到文件
  • json.load() 解析包含JSON數據的文件爲python對象
  • json.dumps() 將python數據對象轉換爲JSON格式的字符串
  • json.loads() 將包含JSON的字符串、字節以及字節數組解析爲python對象

YAML是一種直觀的能夠被電腦識別的的數據序列化格式,容易被人類閱讀,並且容易和腳本語言交互。YAML類似於XML,但是語法比XML簡單得多,對於轉化成數組或可以hash的數據時是很簡單有效的。編程時寫配置文件,比xml快,比ini文檔功能更強。YAML是專門用於寫配置文件的語言,非常簡潔和強大,遠比JSON格式方便。

import yaml
	f = open(ymlPath, 'r')
	cfg = f.read() # 讀取的結果是 字符串
	d = yaml.load(cfg) # 用load方法轉字典	
	a = {'name': 'chenchen',
		'race': 'Human',
		'traits': ['Two_Hand', 'Two_Eye']
	}
	ret = yaml.dump(a) # 用dump方法轉yaml文檔
  • load(),解析yaml文檔,返回一個Python對象;
  • load_all(),如果是string或文件包含幾塊yaml文檔,可用該方法來解析全部的文檔,生成一個迭代器;
  • dump(),將一個Python對象生成爲一個yaml文檔;
  • dump_all(),將多個段輸出到一個yaml文檔中。

3. hashlib 哈希函數

hashlib 是一個提供了一些流行的hash算法的 Python 標準庫,主要提供字符加密功能,將md5和sha模塊整合到了一起,支持md5,sha1, sha224, sha256, sha384, sha512等算法。

MD5是最常見的摘要算法,速度很快,生成結果是固定的16字節,通常用一個32位的16進制字符串表示。SHA1算法更安全點,它的結果是20字節長度,通常用一個40位的16進制字符串表示。而比SHA1更安全的算法是SHA256和SHA512等等,不過越安全的算法越慢,並且摘要長度更長。

from hashlib import md5, sha1
m = hashlib.sha256() # 通過構造函數獲得一個hash對象
m.update(b’Nobody inspects’) # 使用hash對象的update方法添加消息
m.digest() # 獲得bytes類型的消息摘要

4. getpass

getpass是python內置的獲取密碼及用戶名的模塊。getpass()函數用於從控制檯輸入一行字符串,關閉了回顯(輸入時不顯示輸入的字符串),適用於用密碼的輸入。
使用該模塊必須先導入模塊:import getpass

兩個函數:

  • getuser:該函數返回登陸的用戶名,不需要參數
  • getpass:會顯示提示字符串, 關閉鍵盤的屏幕回顯,然後讀取密碼
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章