使用 Python 接受用户输入以从 API 返回 JSON 条目

保罗·斯金斯
import requests

url = 'http://jsonplaceholder.typicode.com/users'
response = requests.get(url)
users = response.json()

id_num = input("Please enter id number:")
user_name = input("Please enter username:")

for person in users:
    if person[id_num].title == person[user_name].title:
        try:
            print(person["name"])
        except AttributeError:
            print("Input doesn't match out records.")

结果:

C:\Users\username\PycharmProjects\foldername\venv\Scripts\python.exe C:/Users/username/PycharmProjects/foldername/foldername/main.py
    Please enter id number:1
    Please enter username:Bret
    Traceback (most recent call last):
      File "C:\Users\username\PycharmProjects\foldername\foldername\main.py", line 11, in <module>
        if person[id_num].title == person[user_name].title:
    KeyError: '1'
    
    Process finished with exit code 1

因此,我试图要求用户提供请求的输入以从 API 返回 JSON 文件的名称条目。我试过切换变量,因为它说的是 KeyError Bret。然后我添加.title来处理用户在请求的信息中输入错误。然后我添加了try/except无论如何我必须在那里。仍然是这个 KeyError 与第一个接受的输入。

我正在使用安装了请求的最新 pycharm。从我正在工作的演示中我不假设导入任何其他东西,代码在它只是

for person in users:
    print(person["name"])

但这当然会从 API 返回 JSON 文件中的所有名称。我需要接受用户输入并从中返回名称,我知道我错过了一些不知道是什么。这只是我的第三个 python 项目。我已经完成了 csv、xml 和字典迭代。

谢兹法兹

我相信这会给你你正在寻找的答案:

for person in users:
    if(person["id"]==int(id_num)):
        person_username = person["username"]
        if(person_username == user_name):
            print(person["name"])

基本上,这个问题是在这一段代码:person[id_num].title

说,你的 id_name = 1。现在,你在这里试图做的是从 person 字典中获取键的值,其中键 = 1。由于这不是 person 字典中存在的有效键,它导致一个密钥错误。

现在,在上面给出的代码中,首先检查人的 id 值是否等于 id_num 输入。如果这是真的,那么我们正在获取具有 id = id_num 值的人的用户名值。之后,我们检查提取的用户名值是否等于提供的用户名输入!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用输入标签接受用户输入并使用javascript返回值?

使用返回json的api的PYTHON

如何使用python创建GUI以接受用户输入并将其插入Excel工作表

我正在编写代码以接受用户输入并以python提供其文档。但是用户输入中的字符串与python中的引号一起使用

接受用户输入并同时执行python脚本

当Python 3接受用户输入时,如何执行函数?

如何使用Java在数组中接受用户输入?

无法接受用户输入并正确使用它

接受用户输入以使用javascript执行计算

如何接受用户输入的常量并使用 writeprocessmemory?

使用Python从JSON中删除条目

如何在Python脚本中接受管道输入,然后接受用户提示的输入?

如何在接受用户输入后阻止Python插入新行?

当python中的空格和换行符分隔开来时,如何接受用户输入?

如何使用 (input == '\n') 之类的东西来确定何时停止接受用户输入?

如何在使用Plink执行的bash文件中接受用户输入?

接受用户输入并将其插入到使用PHP的关联数组中

如何在NAV 2016中使用C / AL接受用户输入?

返回无值的Python JSON(Telegram API)

无法使用RESTIFY从REST API返回JSON

Elasticsearch使用Java API返回原始JSON

使用 JSON 的 Pandas 中的 API 返回问题

如何从返回的对象中获取 JSON 条目

如何从 tkinter 中的条目小部件返回用户输入

使用键值返回地图中的条目集

使用属性返回特定的列表条目

Python如何使用多个可接受的选项验证用户输入

创建和托管接受用户输入并将其添加到 sql 数据库的 python webapp 的最佳方法?

如何在Pyqt5 Python中打开另一个窗口并接受用户输入