1.hashlib模塊
#hashlib模塊:摘要算法,它通過(guò)一個(gè)函數(shù),把任意長(zhǎng)度的數(shù)據(jù)轉(zhuǎn)換為一個(gè)長(zhǎng)度固定的數(shù)據(jù)串(通常用16進(jìn)制的字符串表示)
##hashlib模塊的應(yīng)用
###加密
import hashlib
md5_obj = hashlib.md5() # 選擇了md5算法,sha算法的使用類似
s = input('>>>')
md5_obj.update(s.encode('utf-8')) #以s做鹽進(jìn)行加密,提高安全性
print(md5_obj.hexdigest()) #打印摘要
hashlib加密的特點(diǎn):
1.使用相同的算法對(duì)同一個(gè)字符串進(jìn)行摘要在任意時(shí)刻 任意平臺(tái) 任意語(yǔ)言結(jié)果總是不變的
2.這個(gè)摘要過(guò)程不可逆
3.對(duì)于不同的數(shù)據(jù)的計(jì)算結(jié)果總是不同的
###校驗(yàn)文件一致性
import os
import hashlib
def get_md5(file,n = 10240):
with open(file, 'rb') as f1:
md5_obj = hashlib.md5()
file_size = os.path.getsize(file)
while file_size>0:
md5_obj.update(f1.read(n))
file_size -= n
return md5_obj.hexdigest()
def compare(file1,file2):
return get_md5(file1) == get_md5(file2)
2.configparser模塊
#configparser模塊:設(shè)置配置文件
import configparser
config = configparser.ConfigParser()
config["DEFAULT"] = {'ServerAliveInterval': '45',
'Compression': 'yes',
'CompressionLevel': '9',
'ForwardX11':'yes'
}
config['bitbucket.org'] = {'User':'hg'}
config['topsecret.server.com'] = {'Host Port':'50022','ForwardX11':'no'}
with open('example.ini', 'w') as configfile:
config.write(configfile)
產(chǎn)生了一個(gè)example.ini文件,內(nèi)容如下:
[DEFAULT]
ServerAliveInterval = 45
Compression = yes
CompressionLevel = 9
ForwardX11 = yes
[bitbucket.org]
User = hg
[topsecret.server.com]
Port = 50022
ForwardX11 = no
#可通過(guò)代碼對(duì)文件進(jìn)行增刪查改操作,和操作字典方法類似
3.logging模塊
#logging模塊:日志格式的模塊
##簡(jiǎn)單配置方式
import logging
logging.debug('debug message') # 調(diào)試模式
logging.info('info message') # 基礎(chǔ)正常的信息
logging.warning('warning message') # 警告信息
logging.error('error message') # 錯(cuò)誤信息
logging.critical('critical message') # 批判的 嚴(yán)重錯(cuò)誤
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='test.log',
filemode='a')
##logger對(duì)象的配置方式
*# 創(chuàng)建一個(gè)logger對(duì)象
創(chuàng)建一個(gè)屏幕管理對(duì)象
創(chuàng)建一個(gè)文件管理對(duì)象
創(chuàng)建一個(gè)格式對(duì)象
屏幕管理對(duì)象 + 一個(gè)格式對(duì)象
文件管理對(duì)象 + 一個(gè)格式對(duì)象
logger對(duì)象*
屏幕管理對(duì)象
文件管理對(duì)象
logger = logging.getLogger() # 創(chuàng)建一個(gè)logger對(duì)象
sh = logging.StreamHandler() # 創(chuàng)建一個(gè)屏幕管理對(duì)象
fh = logging.FileHandler('test2.log',encoding='utf-8') # 創(chuàng)建一個(gè)文件管理對(duì)象
fomatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') # 創(chuàng)建一個(gè)格式對(duì)象
sh.setFormatter(fomatter) # 屏幕管理對(duì)象 + 一個(gè)格式對(duì)象
fh.setFormatter(fomatter) # 文件管理對(duì)象 + 一個(gè)格式對(duì)象
sh.setLevel(logging.WARNING) #屏幕管理對(duì)象的輸出級(jí)別
fh.setLevel(logging.INFO) # 文件管理對(duì)象的輸出級(jí)別
logger.addHandler(sh) #logger對(duì)象+屏幕管理對(duì)象
logger.addHandler(fh) #logger對(duì)象+文件管理對(duì)象
logger.setLevel(logging.DEBUG)
logger.debug('你好') # 調(diào)試模式
logger.info('info message') # 基礎(chǔ)正常的信息
logger.warning('warning message') # 警告信息
logger.error('error message') # 錯(cuò)誤信息
logger.critical('critical message') # 批判的 嚴(yán)重錯(cuò)誤
4.序列化模塊
#將數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換成字符串是序列化,將字符串轉(zhuǎn)換成數(shù)據(jù)結(jié)構(gòu)是反序列化。序列化主要是為了文件存儲(chǔ)和網(wǎng)絡(luò)傳輸。相關(guān)的模塊有json pickle shelve
import json
lst = [1,2,3,'bbb']
dic = {'a':1,2:3}
ret1= json.dumps(lst) #dumps將數(shù)據(jù)類型轉(zhuǎn)字符串
print(ret1,type(ret1))
ret2= json.dumps(dic)
print(ret2,type(ret2))
res1 = json.loads(ret1) #loads反序列化過(guò)程
res2= json.loads(ret2)
print(res1,type(res1))
print(ret2,type(res2))
##json 只支持有限的數(shù)據(jù)類型 字典 列表 數(shù)字類型
f = open('json_file','w')
json.dump([1,2,3],f) #dump操作和文件相關(guān)
f.close()
f = open('json_file','r')
content = json.load(f) #load操作和文件相關(guān)
f.close()
#pickle和json用法類似,pickle只支持python,幾乎支持所有數(shù)據(jù)類型。json所有的語(yǔ)言都通用,支持的數(shù)據(jù)類型有限
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
網(wǎng)站題目:python第九天學(xué)習(xí)總結(jié)-創(chuàng)新互聯(lián)
標(biāo)題URL:http://jinyejixie.com/article48/djsoep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、App開(kāi)發(fā)、建站公司、網(wǎng)站收錄、電子商務(wù)、營(yíng)銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容