1. 程式人生 > >python語法_模組_loggin_hashlib

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'))