如何解决在我的函数中按预期方式排序列表时遇到问题
Python词典的初学者在这里,
@app.route('/pokemon/original/<string:name>/',methods=['GET'])
def get_poke(name):
descrip_url = f"https://pokeapi.co/api/v2/pokemon-species/{name.lower()}"
r = requests.get(descrip_url)
json_blob = r.json()
flav_text = extract_descriptive_text(json_blob)
# clean_description = flav_text.replace("\n"," ")
d = {"name": name,"description": flav_text}
ordered_poke_list = OrderedDict(jsonify(d))
return ordered_poke_list
我要实现的目标:在字典中以以下格式显示键'name'
,后跟'description'
:
{'name': variable,'description': variable}
经过一些研究,我了解到Python中的Dictionary本质上是无序的,但是可以使用OrderedDict进行修改。我试图通过上面的代码来使用它。 我收到的错误:
TypeError: 'Response' object is not iterable
其他尝试:我也尝试过使用this stackoverflow问题的建议,并尝试使用dict
方法无效
d = dict(name=name,description=flav_text)
return jsonify(d)
错误:这将首先返回描述。
任何帮助将不胜感激
有用的信息:
extract_description_text:从PokeAPI中获取Pokemon描述
def extract_descriptive_text(json_blob,language='en',version= 'sword'):
text = ""
for f in json_blob['flavor_text_entries']:
if f['language']['name'] == language and f['version']['name'] == version:
text = f['flavor_text']
return text
跟踪:
Traceback (most recent call last):
File "/Users/swapneel/Library/Python/3.8/lib/python/site-packages/flask/app.py",line 2464,in __call__
return self.wsgi_app(environ,start_response)
File "/Users/swapneel/Library/Python/3.8/lib/python/site-packages/flask/app.py",line 2450,in wsgi_app
response = self.handle_exception(e)
File "/Users/swapneel/Library/Python/3.8/lib/python/site-packages/flask_restful/__init__.py",line 272,in error_router
return original_handler(e)
File "/Users/swapneel/Library/Python/3.8/lib/python/site-packages/flask/app.py",line 1867,in handle_exception
reraise(exc_type,exc_value,tb)
File "/Users/swapneel/Library/Python/3.8/lib/python/site-packages/flask/_compat.py",line 39,in reraise
raise value
File "/Users/swapneel/Library/Python/3.8/lib/python/site-packages/flask/app.py",line 2447,in wsgi_app
response = self.full_dispatch_request()
File "/Users/swapneel/Library/Python/3.8/lib/python/site-packages/flask/app.py",line 1952,in full_dispatch_request
rv = self.handle_user_exception(e)
File "/Users/swapneel/Library/Python/3.8/lib/python/site-packages/flask_restful/__init__.py",line 1821,in handle_user_exception
reraise(exc_type,line 1950,in full_dispatch_request
rv = self.dispatch_request()
File "/Users/swapneel/Library/Python/3.8/lib/python/site-packages/flask/app.py",line 1936,in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/Users/swapneel/Desktop/projects/PokemonTranslation/main.py",line 49,in get_poke
ordered_poke_list = OrderedDict(jsonify(d))
TypeError: 'Response' object is not iterable
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。