args = [1,2,3,4] text = json.dumps(args) query = base64.b64encode(text) auth = hashlib.md5(query).hexdigest() print(auth)
这段代码在python2.7下面通过,但是python3.5会报错:
TypeError: 'str' does not support the buffer interface
更改为这样以后,python3可以通过了
args = [1,2,3,4] text = json.dumps(args) query = base64.b64encode(bytes(text, 'utf-8'), ) auth = hashlib.md5(query).hexdigest() print(auth)
但是python2又会报错:TypeError: str() takes at most 1 argument (2 given)
该怎样修改才能使代码在python2和python3都运行通过呢?
代言2016-11-09 14:10:41
args = [1,2,3,4] text = json.dumps(args) #这里添加了一个bytearray类型的变量temp temp = bytearray(text, encoding='ascii') query = base64.b64encode(temp) auth = hashlib.md5(query).hexdigest() print(auth)
三叔2016-11-09 14:10:28
import base64, json, hashlib args = [1,2,3,4] text = json.dumps(args) try: text = bytes(text, 'utf-8') except: pass query = base64.b64encode(text) auth = hashlib.md5(query).hexdigest() print(auth)