相关疑难解决方法(0)

将字典作为关键字参数传递给python中的函数

我想使用字典在python中调用一个函数.

这是一些代码:

d = dict(param='test')

def f(param):
    print(param)

f(d)
Run Code Online (Sandbox Code Playgroud)

这打印{'param': 'test'}但我想它只是打印test.

我希望它能以更多参数的方式工作:

d = dict(p1=1, p2=2)
def f2(p1, p2):
    print(p1, p2)
f2(d)
Run Code Online (Sandbox Code Playgroud)

这可能吗?

python parameters dictionary function keyword

318
推荐指数
4
解决办法
20万
查看次数

如何从SimpleNamespace初始化字典?

有人问: 如何从字典初始化SimpleNamespace?

我的问题是相反的方向。如何从SimpleNamespace初始化字典?

python python-3.x

3
推荐指数
1
解决办法
532
查看次数

创建具有dict的dict的名称空间

目前,我正在使用json将字典保存到配置文件。我将其加载以将其转换为a,dict然后将其转换为a,SimpleNamespace因为我更喜欢点符号来访问设置。为此,请按照以下示例加载它:

import json
from types import SimpleNamespace
SETTINGS = json.load(open("config.json", 'r'))
SETTINGS = SimpleNamespace(**SETTINGS)
Run Code Online (Sandbox Code Playgroud)

但是,由于我当前正在将加载dict到,SimpleNamespace因此未在配置文件内加载子命令。例如,如果我这样做:

SETTINGS.server_info.port
Run Code Online (Sandbox Code Playgroud)

我得到错误:

AttributeError: 'dict' object has no attribute 'port'
Run Code Online (Sandbox Code Playgroud)

我想知道如何将所有字典作为名称空间加载到命名空间中,以便在字典中一直使用点符号。

python dictionary python-3.x

2
推荐指数
2
解决办法
642
查看次数

标签 统计

python ×3

dictionary ×2

python-3.x ×2

function ×1

keyword ×1

parameters ×1