【发布时间】:2021-11-26 19:31:19
【问题描述】:
这更容易用一个例子来解释。想象一下我有以下字典..
myapps = {'app_1': {'username': 'admin',
'pwd': 'S3cret',
'ports': [8080, 443],
'users': {'user1': 'john',
'user2': 'ruth'}},
'app_2': {'username': 'user1',
'pwd': 'P@ssword'}
}
现在我想通过以下方式使用这本词典的数据:
print("App_2 username = ", myapps.app_2.username) # prints App_2 username = user1
print("App_2 pwd = ", myapps.app_2.pwd) # prints App_2 pwd = P@ssword
print("App_1 ports = ", myapps.app_1.ports) # prints App_1 ports = [8080, 443]
myapps.app_2.username = "MyNewAdminAccount"
print("App_2 username = ", myapps.app_2.username) # prints App_2 username = MyNewAdminAccount
我基本上是在尝试编写一个可以接受字典的类,递归地遍历它并为我的字典中给出的每个键和子键生成属性。
【问题讨论】:
-
这对
setattr()来说非常简单。你试过什么?钥匙总是一样的吗?字典总是相同的结构还是任意嵌套? -
分享你目前尝试过的代码
-
我认为这不是
dot.dictQ Accessing dict keys like an attribute? 的副本,因为它是关于一个自定义类(并且假设一些可能更动态/继承/特定的东西)。虽然非常相似。 -
I downvoted your question because no attempt was made。您应该发送honest attempt at the solution,然后然后在必要时询问有关它的具体问题。
标签: python