diff --git a/atomicwrites/__init__.py b/atomicwrites/__init__.py index 1859e83..5592ec4 100644 --- a/atomicwrites/__init__.py +++ b/atomicwrites/__init__.py @@ -9,6 +9,12 @@ except ImportError: fcntl = None +# `fspath` was added in Python 3.6 +try: + from os import fspath +except ImportError: + fspath = None + __version__ = '1.3.0' @@ -137,6 +143,10 @@ def __init__(self, path, mode=DEFAULT_MODE, overwrite=False, if 'w' not in mode: raise ValueError('AtomicWriters can only be written to.') + # Attempt to convert `path` to `str` or `bytes` + if fspath is not None: + path = fspath(path) + self._path = path self._mode = mode self._overwrite = overwrite