В моем приложении я пытаюсь пройти по набору каталогов в поисках определенных файлов.
for (dirpath, dirnames, filenames) in walk(path_to_network_share):
print(filenames)
break
Фактическая попытка обхода папок выполняется путем вызова os.walk. Однако даже если нет подключения к общему сетевому ресурсу, os.walk не вернет ошибку. Как я могу поймать ошибку?






Оказывается, мы можем предоставить функцию в качестве необязательного аргумента ('onerror'), и она получит взамен экземпляр OSError:
import os
def walk_error(os_error):
return(os_error) # [WinError 53] The network path was not found: '\\\\path\\dir\\'
for file in os.walk('\\\\path\\dir\\', onerror=walk_error):
print(file)