From edb7dc1171062253c4da107ad4efff4c05339790 Mon Sep 17 00:00:00 2001 From: Zhiming Wang Date: Wed, 27 May 2020 16:04:12 +0800 Subject: [PATCH] xml.etree.ElementTree: add support for os.PathLike for py36+ (#4097) xml.etree.ElementTree uses open on filenames (e.g. [1]), so os.PathLike has been supported as filenames since Python 3.6. [1] https://github.com/python/cpython/blob/285ff63351bb5a42099527c283f65434e761be83/Lib/xml/etree/ElementTree.py#L584 --- stdlib/2and3/xml/etree/ElementTree.pyi | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/stdlib/2and3/xml/etree/ElementTree.pyi b/stdlib/2and3/xml/etree/ElementTree.pyi index 43c72394c..462491b5f 100644 --- a/stdlib/2and3/xml/etree/ElementTree.pyi +++ b/stdlib/2and3/xml/etree/ElementTree.pyi @@ -63,7 +63,11 @@ else: # _fixtext function in the source). Client code knows best: _str_result_type = Any -_file_or_filename = Union[str, bytes, int, IO[Any]] +if sys.version_info >= (3, 6): + from os import PathLike + _file_or_filename = Union[str, bytes, PathLike[str], int, IO[Any]] +else: + _file_or_filename = Union[str, bytes, int, IO[Any]] if sys.version_info >= (3, 8): class _Writeable(Protocol):