Python 將GET引數轉為字典型別
阿新 • • 發佈:2020-11-23
需求:有時候需要將GET引數轉為字典再動態增加引數
注意:此程式碼來源Tornado原始碼
#!/usr/bin/env python # -*- coding: utf-8 -*- import urllib.parse from typing import Dict, List def parse_qs_bytes( qs: str, keep_blank_values: bool = False, strict_parsing: bool = False, code_type: str = "utf-8" ) -> Dict[str, List[bytes]]:"""將查詢的字串轉為字典型別,並且value轉為位元組型別""" result = urllib.parse.parse_qs( qs, keep_blank_values, strict_parsing, encoding="latin1", errors="strict" ) encoded = {} for k, v in result.items(): encoded[k] = [i.encode(code_type) for i in v] return encoded if __name__ == '__main__': ret = parse_qs_bytes("username=test&password=admin&content=中國人") print(ret) ret['type'] = 0 print(urllib.parse.urlencode(ret))
執行結果
{'username': [b'test'], 'password': [b'admin'], 'content': [b'\xe4\xb8\xad\xe5\x9b\xbd\xe4\xba\xba']} username=%5Bb%27test%27%5D&password=%5Bb%27admin%27%5D&content=%5Bb%27%5Cxe4%5Cxb8%5Cxad%5Cxe5%5Cx9b%5Cxbd%5Cxe4%5Cxba%5Cxba%27%5D&type=0