【问题标题】:read parameters from json file [duplicate]从json文件中读取参数[重复]
【发布时间】:2020-08-15 03:35:58
【问题描述】:

我有一个这样的 JSON 文件; { “名字”:“玛丽亚”, “年龄”:“40”, “地址”:“美国” }

我想应用一个函数,该函数将姓名、年龄、地址作为参数

我的基本功能是这样的:

def get(name, age, address):
    print(name has (age) years old and a house in (address)

问题是如何从 JSON 文件中输入函数

【问题讨论】:

    标签: python json python-3.x


    【解决方案1】:

    对于这个简单的test.json JSON 文件:

    { "name" : "maria", "age" : "40", "address" : "usa" }
    

    我们可以使用json.load 将JSON 反序列化为字典,然后将nameageaddress 值传递给get() 函数:

    from json import load
    
    def get(name, age, address):
        print(f"{name} has {age} years old and a house in {address}")
    
    with open("test.json") as f:
        data = load(f)
        get(data["name"], data["age"], data["address"])
    

    我使用Formatted string literalsnameageaddress 插入到格式化字符串中。这些也称为 f-strings

    使用dict.get() 获取值并提供默认值None 可能也更安全,因为如果密钥不存在,您可以获得KeyError。您还可以指定任何其他默认值。

    get(data.get("name"), data.get("age"), data.get("address"))
    

    输出:

    maria has 40 years old and a house in usa
    

    【讨论】:

    • @daniel 不用担心。欢迎来到 Stackoverflow!如果您喜欢这个答案,请务必打一个绿色的勾:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-14
    • 1970-01-01
    • 2019-12-24
    相关资源
    最近更新 更多