New submission from matt <github.gitm...@xoxy.net>:
Hi there, ISSUE DESCRIPTION when I browse starting from the linux root ('/') path = pathlib.Path('/') _glob = '**/*' for p in path.glob(_glob): The program stops on my machine because of OSError. File "/usr/lib/python3.8/pathlib.py", line 535, in _select_from entries = list(scandir_it) OSError: [Errno 22] Invalid argument: '/proc/5916/task/5916/net' **************************************** Entering post mortem debugging... **************************************** > /usr/lib/python3.8/pathlib.py(535)_select_from() 533 try: 534 with scandir(parent_path) as scandir_it: --> 535 entries = list(scandir_it) 536 for entry in entries: 537 if self.dironly: I also another case is if a cloud drive is disconnected. QUICK SOLUTION I solved both issues for me by adding an adding an except OSError: return at the end of the two function below: class _WildcardSelector(_Selector): def _select_from(self, parent_path, is_dir, exists, scandir): (...) except OSError: return class _RecursiveWildcardSelector(_Selector): def _iterate_directories(self, parent_path, is_dir, scandir): (...) except OSError: return FEATURE REQUEST I don't know the consequences of those 2 modifications so perhaps they could follow an option when calling glob with an optional parameter ignoreOSerror = false by default?! ---------- components: Library (Lib) messages: 408314 nosy: matt32106 priority: normal severity: normal status: open title: [pathlib] Option so that OSError does not block glob in pathlib library type: enhancement versions: Python 3.8 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue46050> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com