pyhton requests模块post方法传参为多层字典时,转换错误,
如,表单传参
{ “a”:1, “b”:{ “A”:2, “B”:3 } }
post请求后看到form data是:
a:1 b:A b:B
查看官方文档:
More complicated POST requests
Typically, you want to send some form-encoded data — much like an HTML form. To do this, simply pass a dictionary to the data argument. Your dictionary of data will automatically be form-encoded when the request is made:
payload = {‘key1': ‘value1', ‘key2': ‘value2'} r = requests.post(“http://httpbin.org/post“, data=payload) print(r.text) { … “form”: { “key2”: “value2”, “key1”: “value1” }, … }
这里说post传入的dict类型参数会被自动转化为form-encoded,查看请求后,这里的demo是一个一层的字典。多层字典传输的时候,确实会异常。
解决办法:
将第二层字典转化为json,json.dumps({“A”:2,”B”:3}),然后赋给b。
以上这篇python requests post多层字典的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。
dict的很多方法跟list有类似的地方,下面一一道来,并且会跟list做一个对比 嵌套 嵌套在list中也存在,就是元素是list,在dict中,也有类似的样式: >>> a_list = [[1,2,3],[4,5],[6,7]] >>> a_list[1][1] 5 >>> a_dict = {1:{"name":"qiwsir"},2:"python","email":"qiwsir@gm
问题内容: 我想将JSON数据存储在Python Pandas DataFrame中 我的JSON数据是像这样的字典的字典 我这样做是为了将数据放入DataFrame 我明白了 我的问题是我的DataFrame包含字典而不是值。 我想知道如何使用Pandas DataFrame管理多维数据(超过2个维度…这里有3个维度)。 DataFrame中的每个字典都有相同的键。 问题答案: df = pd.
问题内容: 我正在尝试漂亮地打印字典,但是我没有运气: 我希望输出在多行中,如下所示: 能做到吗?如果不是,那么它是哪个模块?我正在使用Python 2.7.3 。 问题答案: 使用或:
1 直接创建 dict = {'name':'earth', 'port':'80'} 2 工厂方法 items=[('name','earth'),('port','80')] dict2=dict(items) dict1=dict((['name','earth'],['port','80'])) 3 fromkeys()方法 dict1={}.fromkeys(('x','y'),-1
Python3 字典 描述 Python 字典 popitem() 方法随机返回并删除字典中的一对键和值(一般删除末尾对)。 如果字典已经为空,却调用了此方法,就报出KeyError异常。 语法 popitem()方法语法: popitem() 参数 无 返回值 返回一个键值对(key,value)形式。 实例 以下实例展示了 popitem() 方法的使用方法: #!/usr/bin/py
Python3 字典 描述 Python 字典 pop() 方法删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。 语法 pop()方法语法: pop(key[,default]) 参数 key: 要删除的键值 default: 如果没有 key,返回 default 值 返回值 返回被删除的值。 实例 以下实例展示了 pop() 方法的使