Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ENH: Accept pathlib.Path objects where filenames are accepted #610

Merged
merged 18 commits into from
Oct 23, 2019
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion nibabel/loadsave.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
from .filebasedimages import ImageFileError
from .imageclasses import all_image_classes
from .arrayproxy import is_proxy
from .py3k import FileNotFoundError
from .py3k import FileNotFoundError, unicode
from .deprecated import deprecate_with_version


Expand All @@ -36,6 +36,11 @@ def load(filename, **kwargs):
img : ``SpatialImage``
Image of guessed type
'''
if hasattr(filename, '__fspath__'):
filename = filename.__fspath__()
else:
filename = unicode(filename)
effigies marked this conversation as resolved.
Show resolved Hide resolved

if not op.exists(filename):
raise FileNotFoundError("No such file: '%s'" % filename)
sniff = None
Expand Down