我正在编写代码将数据加载到YAML文件中,我编写了一个将加载数据的类。但我遇到了这个错误:
Traceback (most recent call last):
File "D:\Projects\ProjectsProgramming\PyCharmCommunity\OST\src\quiz\task_settings.py", line 36, in save_task_settings
self.quiz_activated()
File "D:\Projects\ProjectsProgramming\PyCharmCommunity\OST\src\quiz\task_settings.py", line 30, in quiz_activated
self.result.save_exam_result()
File "D:\Projects\ProjectsProgramming\PyCharmCommunity\OST\src\quiz\exam_result.py", line 18, in save_exam_result
name_settings_file = self.exam_result[0]["Series"] + self.exam_result[0]["Number"]
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
KeyError: 'Series'
代码:
from pathlib import Path
import yaml
class Result:
def __init__(self):
super().__init__()
self.exam_result = []
def add_data(self, data):
self.exam_result.append(data)
@staticmethod
def get_root_dir():
return Path(__file__).absolute().parent
def save_exam_result(self) -> None:
name_settings_file = self.exam_result[0]["Series"] + self.exam_result[0]["Number"]
print(name_settings_file)
with open((self.get_root_dir() / "exam").joinpath(name_settings_file + ".yaml"), "w") as outfile:
new_dump = yaml.dump(self.exam_result)
outfile.write(new_dump)
return None
作为输入提供的列表的示例:
[{'CodeEducationalOrganization': 'gfdgd', 'PPECode': 'gdfg', 'NumberPC': 'dgd', 'NumberOption': 'gdgd', 'SettingsOption': '[Без дополнений]', 'CodeActivation': 'gdg'}]
如何修复这个错误?
该错误直接表明字典中没有与“Series”键的配对。此外,不会有“Number”对(基于作为列表输入给出的示例)。要修复该错误,您需要: