Проблема
Ви намагаєтеся використовувати певний завантажувач YAML з PyYAML за допомогою такого коду:
pyyaml_loader_example.py
import yaml
from yaml import CSafeLoader
#...
data = yaml.load(f, loader=CSafeLoader)але бачите помилку на кшталт цієї:
pyyaml_traceback.txt
File "/usr/lib/python3.12/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/uli/.local/lib/python3.12/site-packages/pydantic/validate_call_decorator.py", line 60, in wrapper_function
return validate_call_wrapper(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/uli/.local/lib/python3.12/site-packages/pydantic/_internal/_validate_call.py", line 96, in __call__
res = self.__pydantic_validator__.validate_python(pydantic_core.ArgsKwargs(args, kwargs))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/uli/dev/SpiroFit/PlotServer/SpiroFit/SpiroFitDataManager.py", line 288, in read_measurement
data = yaml.load(decoded_data, loader=CSafeLoader)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: load() got an unexpected keyword argument 'loader'Рішення
Рішення тут просте. Аргумент loader потрібно писати з великої літери L:
pyyaml_fix_snippet.py
data = yaml.load(f, Loader=CSafeLoader)
Дивіться схожі статті за категоріями:
Python
Якщо ця стаття допомогла вам, будь ласка, подумайте про те, щоб купити мені каву або зробити пожертву через PayPal на підтримку досліджень та публікації нових статей на TechOverflow