python語法_模組_loggin_hashlib
loggin模組 日誌模組,級別從上往下依次增強,debug 和 info 預設不輸出資訊,只有後三種級別有輸出資訊
loggin.debug('')
loggin.info('')
loggin.waring('')
loggin.error('')
loggin.critical('')
日誌有兩種形式,第一種顯示在前臺(標準流),第二種是記錄在日誌裡。可調的。
日誌的設定,靈活設定日誌級別和列印方式:
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
datefmt='%a, %d %b %Y %H:%M:%S',
filename='myapp.log', filemode='w')
logging.basicConfig函式各引數:
filename: 指定日誌檔名
filemode: 和file函式意義相同,指定日誌檔案的開啟模式,'w'或'a'
format: 指定輸出的格式和內容,format可以輸出很多有用資訊,如上例所示:
%(levelno)s: 列印日誌級別的數值
%(levelname)s: 列印日誌級別名稱
%(pathname)s: 列印當前執行程式的路徑,其實就是sys.argv[0]
%(filename)s: 列印當前執行程式名
%(funcName)s: 列印日誌的當前函式
%(lineno)d: 列印日誌的當前行號
%(asctime)s: 列印日誌的時間
%(thread)d: 列印執行緒ID
%(threadName)s: 列印執行緒名稱
%(process)d: 列印程序ID
%(message)s: 列印日誌資訊
datefmt: 指定時間格式,同time.strftime()
level: 設定日誌級別,預設為logging.WARNING
stream: 指定將日誌的輸出流,可以指定輸出到sys.stderr,sys.stdout或者檔案,預設輸出到sys.stderr,當stream和filename同時指定時,stream被忽略
靈活定製日誌輸出模式:
logger = loggin.getLogger()
fh = loggin.FileHandle('test.log')
ch = loggin.StreamHandle()
formmater = loggin.Formmater()
fh.setFormmater(formmater )
ch.setFormmater(formmater )
logger.addhandle(fh)
logger.addhandle(ch)
logger.setLevel(logging.DEBUG) 設定日誌列印的預設級別
logger.debug('')
logger.info('')
logger.waring('')
logger.error('')
logger.critical('')
#########
hashlib 模組,從明文加密成密文。
加密演算法 md5,hash
m = hashlib.md5()
m.update('hello word'.encode('utf8')) 注意unicode 型別 一定要轉換成byte型別
m.hexdigest() 獲取m 通過md5轉換後的字串
m.update('alxe') 多次update 就相當將內容拼接起來進行轉換,等價於 m.update('hello wordalxe')
另外一種演算法
hashlib.sha 128 256 512
m = hashlib.sha256()
m.update('hello word'.encode('utf8'))