1. 程式人生 > 實用技巧 >Python 將GET引數轉為字典型別

Python 將GET引數轉為字典型別

需求:有時候需要將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