Код возврата Python os.walk - PullRequest
0 голосов
/ 07 мая 2018

В моем приложении я пытаюсь просмотреть набор каталогов в поисках определенных файлов.

for (dirpath, dirnames, filenames) in walk(path_to_network_share):
    print(filenames)
    break

Фактическая попытка просмотреть папки осуществляется путем вызова os.walk . Однако, даже если нет подключения к общему сетевому ресурсу, os.walk не вернет ошибку. Как я могу поймать ошибку?

1 Ответ

0 голосов
/ 07 мая 2018

Оказывается, что мы можем предоставить функцию в качестве необязательного аргумента ('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)
...