设计类属性以匹配Python中不一致的键

2024-09-27 00:18:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我在写问题时遇到了一些困难,所以我的搜索查询可能写得不好,但我没有找到任何可以帮助我的东西。你知道吗

我尝试用以下方式解析文件:我使用正则表达式构建字典。然后我尝试创建对象,其中每个键的值填充类中每个属性的值。请参见下面的代码。你知道吗

for k, v in element.items():
  attr = k
  setattr(thisinstance, attr, v)
else:
  continue

(其中thisinstance是指在代码中选择上述正确的实例。)

如果键和属性是例如“owner”,那么这种方法非常有效。但如果钥匙是如“主人是”则不行。我可以创建属性“the\u owner\u is”,但如何使密钥与此属性匹配?你知道吗

到目前为止,我发现不令人满意的解决方案是在使用属性计算相等性之前更改键值。有没有办法避免硬编码每个变体?你知道吗

提前谢谢!你知道吗


Tags: 文件代码infor字典属性方式items
2条回答

属性(以及通常的所有名称)的名称中不能有空格。你知道吗

使用str.replace更改密钥名称

attr = k.replace(' ', '_')

您可以将整个字典分配到一个类属性中,并使用字典表示法来访问这些值。你知道吗

相关问题 更多 >

    热门问题