如何从包含一个用YAML加载的单引号的键的集合中获取值



找不到关于这个问题的任何材料。

我有一个yaml文件,其中包含:

items :
- "jeweller's orb"

然后我加载它:

with open('./configs/items.yaml') as f:
data = yaml.safe_load(f)
self.item_set = set([x.upper() for x in data['items']])

现在,如何使用包含单引号的键访问集合??我试过逃避它,双单引用它,什么都不管用。。。

print('JEWELLER’S ORB' in self.item_set)
print("JEWELLER’S ORB" in self.item_set)
print('JEWELLER’S ORB' in self.item_set)
print("JEWELLER’S ORB" in self.item_set)
print(r'JEWELLER’S ORB' in self.item_set)
print(r"JEWELLER’S ORB" in self.item_set)

它们都返回false。一些我不知道的幕后故事??

我还尝试复制self.item_set中变量的输出,并直接在打印中使用它。还是什么都没有。

编辑:答案是

with open('./configs/items.yaml', 'rt', encoding='utf8') as f:

以及在yaml中使用开头的单引号版本,而不是直接的单引号。哇,真疼。

with open('./configs/items.yaml', 'rt', encoding='utf8') as f:

以及在yaml中使用开头的单引号版本,而不是直接的单引号。哇,真疼。

最新更新