С помощью стандартного класса OSError можно получить информацию об ошибке в системном вызове в Python на любой платформе. Этот класс предоставляет доступ к следующим атрибутам:
errno – числовой код ошибки;
strerror – строковое описание ошибки;
filename – имя файла, в котором произошла ошибка (если это касается файловых операций).
Например, в следующем коде мы получаем информацию об ошибке при открытии несуществующего файла:
try:
with open('non-existent-file.txt') as f:
print(f.read())
except OSError as e:
print(e.errno)
print(e.strerror)
print(e.filename)