У мене є дікт, який мені потрібно передати ключ / значення як аргументи ключових слів. Наприклад ..
d_args = {'kw1': 'value1', 'kw2': 'value2'}
example(**d_args)
Це прекрасно працює, але якщо в диктаті d_args є значення, які не приймаються example
функцією, воно, очевидно, відмирає. Скажімо, якщо функція прикладу визначена якdef example(kw2):
Це проблема, оскільки я не контролюю ні генерацію d_args
, ні example
функцію. Обидва вони походять із зовнішніх модулів і example
приймають лише деякі ключові слова-аргументи з диктату ..
В ідеалі я просто зробив би
parsed_kwargs = feedparser.parse(the_url)
valid_kwargs = get_valid_kwargs(parsed_kwargs, valid_for = PyRSS2Gen.RSS2)
PyRSS2Gen.RSS2(**valid_kwargs)
Я, мабуть, просто відфільтрую дикт із списку дійсних ключових слів-аргументів, але мені було цікаво: чи існує спосіб програмно перелічити аргументи ключових слів, які приймає конкретна функція?