python python常用函式

2022-03-28 23:32:29 字數 3457 閱讀 9559

當url中包含中文或者引數包含中文,需要對中文或者特殊字元(/、&)做編碼轉換。

urlencode的本質:把字串轉為gbk編碼,再把\x替換成%。如果終端是utf8編碼的,需要把結果再轉成utf8輸出,否則會亂碼。

urllib庫裡面的urlencode函式,可以把key-value健值對的key、value都進行urlencode並轉換成a=1&b=2的字串。

#key-value健值對

>>> from urllib import urlencode

>>> data=

>>> print urlencode(data)

a=a1&b=%e4%b8%ad%e6%96%87

>>> data=

>>> print urlencode(data)

a=a1&b%e6%b5%8b%e8%af%95=%e4%b8%ad%e6%96%87

urllib庫裡面的quote函式,可以針對單個字串進行urlencode轉換。

#string

>>> from urllib import quote

>>> data="測試"

>>> print quote(data)

%e6%b5%8b%e8%af%95

urllib只提供了unquote()函式。

>>> from urllib import unquote

>>> unquote("%e6%b5%8b%e8%af%95")

'\xe6\xb5\x8b\xe8\xaf\x95'

>>> print unquote("%e6%b5%8b%e8%af%95")

測試》

兩個函式:

函式描述

json.dumps

將python物件編碼成json字串(物件->字串)

json.loads

將已經編碼的json字串解碼為python物件(字串->物件)

語法:json.dumps(data, sort_keys=true, indent=4,separators=(self.item_separator, self.key_separator))

>>> import json

>>> data=

>>> jsonstr=json.dumps(data)

>>> print jsonstr

#輸出格式化

>>> print json.dumps(data, sort_keys=true, indent=4,separators=(",",":"))

>>>

python原始型別向json型別的轉換對照表:

python

json

dict

object

list,tuple

array

str,unicode

string

int,long,float

number

true

true

false

false

none

null

json.loads——返回python欄位的資料型別

>>> import json

>>> jsonstr=''

>>> print json.loads(jsonstr)

>>> jsonstr='}'

>>> print json.loads(jsonstr)

}>>> jsonstr='[,]'

>>> print json.loads(jsonstr)

[, ]

json型別轉換為python型別的對照表

json

python

object

dict

array

list

string

unicode

number(int)

int,long

number(real)

float

true

true

false

false

null

none

結論:print只能輸出python認識的資料型別,python.dumps才可以格式化輸出。

方法一:使用md5包

import md5

def calmd5(signdata,signkey,joiner=""):

signdata=signdata+joiner+""+signkey

m=md5.new(signdata)

sign = m.hexdigest()

return sign

方法二:使用hashlib包

import hashlib

def calhashmd5(signdata,signkey,joiner=""):

signdata=signdata+joiner+""+signkey

m=hashlib.md5(signdata)

sign = m.hexdigest()

return sign

hmac:金鑰相關的雜湊運算訊息認證碼,hmac運算利用雜湊演算法(可以是md5或者sha-1),以一個金鑰和一個訊息為輸入,生成一個訊息摘要作為輸出。

作用:(1)驗證接受的授權資料和認證資料;

(2)確認接受到的命令請求是已經授權的請求且傳送過程沒有被篡改

import hmac

import base64

def hmacsha1withbase64(signdata,signkey):

sign = hmac.new(signkey, signdata,sha1).digest()

sign = base64.b64encode(sign)

return sign

from collections import ordereddict

def composestr(data,joiner,withkey=true,key_value_joiner="="):

data = ordereddict(sorted(data.items(), key=lambda t:t[0]))

if withkey :

signdata = joiner.join([key_value_joiner.join((str(key), str(elem))) for key, elem in data.iteritems()])

else :

signdata= joiner.join([elem for key, elem in data.items()])

return signdata

Python常用函式

1 取絕對值函式 abs 。 2 比較函式 cmp x y ,需要兩個引數,如果 xy,返回 1。 3 int 函式可以把其他資料型別轉換為...

Python常用庫 Psutil

程序例項 擴充套件閱讀 介紹一個處理程序的實用工具,這個是一個第三方庫。應用主要有類似ps cd top,還有檢視硬碟 記憶體使用情況等。...

python常用模組json

python jons模組 json模組 主要是解決資料格式的轉換問題,比如python接收到json物件需要轉換為python物件,供py...