STINNER Victor <vstin...@python.org> added the comment:
Oh right, 'Pacific' is a directory, not a valid zone, and so ZoneInfoNotFoundError should be raised. I see. Example: $ ./python -m venv env $ env/bin/python -m pip install tzdata $ env/bin/python # ZoneInfoNotFoundError expected, get IsADirectoryError >>> import zoneinfo; zoneinfo.ZoneInfo('Pacific') Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/home/vstinner/python/master/Lib/zoneinfo/_common.py", line 12, in load_tzdata return importlib.resources.open_binary(package_name, resource_name) File "/home/vstinner/python/master/Lib/importlib/resources.py", line 40, in open_binary return reader.open_resource(resource) File "/home/vstinner/python/master/Lib/importlib/abc.py", line 419, in open_resource return self.files().joinpath(resource).open('rb') File "/home/vstinner/python/master/Lib/pathlib.py", line 1238, in open return io.open(self, mode, buffering, encoding, errors, newline, IsADirectoryError: [Errno 21] Is a directory: '/home/vstinner/python/master/env/lib/python3.10/site-packages/tzdata/zoneinfo/Pacific' # valid zone >>> import zoneinfo; zoneinfo.ZoneInfo('Pacific/Noumea') zoneinfo.ZoneInfo(key='Pacific/Noumea') # raise ZoneInfoNotFoundError as expected (from FileNotFoundError) >>> import zoneinfo; zoneinfo.ZoneInfo('xxx') Traceback (most recent call last): File "/home/vstinner/python/master/Lib/zoneinfo/_common.py", line 12, in load_tzdata return importlib.resources.open_binary(package_name, resource_name) File "/home/vstinner/python/master/Lib/importlib/resources.py", line 40, in open_binary return reader.open_resource(resource) File "/home/vstinner/python/master/Lib/importlib/abc.py", line 419, in open_resource return self.files().joinpath(resource).open('rb') File "/home/vstinner/python/master/Lib/pathlib.py", line 1238, in open return io.open(self, mode, buffering, encoding, errors, newline, File "/home/vstinner/python/master/Lib/pathlib.py", line 1106, in _opener return self._accessor.open(self, flags, mode) FileNotFoundError: [Errno 2] No such file or directory: '/home/vstinner/python/master/env/lib/python3.10/site-packages/tzdata/zoneinfo/xxx' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/home/vstinner/python/master/Lib/zoneinfo/_common.py", line 24, in load_tzdata raise ZoneInfoNotFoundError(f"No time zone found with key {key}") zoneinfo._common.ZoneInfoNotFoundError: 'No time zone found with key xxx' ---------- title: Unhandled exceptions in zoneinfo.ZoneInfo constructor -> zoneinfo: ZoneInfo raises IsADirectoryError instead of ZoneInfoNotFoundError _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue41530> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com