Если я делаю (например)
open("/snafu/fnord")
в Python (и файл не существует), я получаю трассировку и сообщение
IOError: [Errno 2] No such file or directory: '/snafu/fnord'
Я хотел бы получить приведенную выше строку с помощью Python C API (то есть интерпретатор Python, встроенный в программу C). Мне нужно это как строка, а не вывод на консоль.
С помощью PyErr_Fetch()
я могу получить объект типа исключения и значение. Для приведенного выше примера значение является кортежем:
(2, 'No such file or directory', '/snafu/fnord')
Есть ли легкий путь от информации, которую я получаю от PyErr_Fetch()
к строке, которую показывает интерпретатор Python? (Тот, который не требует создания таких строк для каждого типа исключения самостоятельно.)