From 767d8adaeab575e3db1b233fcb4d8a305b82b969 Mon Sep 17 00:00:00 2001 From: Siddharth Velankar Date: Sun, 30 Apr 2017 21:24:26 -0400 Subject: [PATCH] bpo-29447: Add os.PathLike support to the tempfile module --- Lib/tempfile.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Lib/tempfile.py b/Lib/tempfile.py index 61462357c7283e..4ffeba15d259ab 100644 --- a/Lib/tempfile.py +++ b/Lib/tempfile.py @@ -518,6 +518,8 @@ def __iter__(self): for line in self.file: yield line + def __fspath__(self): + return str(self.name) def NamedTemporaryFile(mode='w+b', buffering=-1, encoding=None, newline=None, suffix=None, prefix=None, @@ -800,6 +802,9 @@ def _cleanup(cls, name, warn_message): def __repr__(self): return "<{} {!r}>".format(self.__class__.__name__, self.name) + def __fspath__(self): + return str(self.name) + def __enter__(self): return self.name @@ -809,3 +814,6 @@ def __exit__(self, exc, value, tb): def cleanup(self): if self._finalizer.detach(): _shutil.rmtree(self.name) + +_os.PathLike.register(TemporaryDirectory) +_os.PathLike.register(_TemporaryFileWrapper)