Original file line numberDiff line numberDiff line change@@ -149,7 +149,7 @@ def _check_arg_types(funcname, *args):
149149elifisinstance(s, bytes):
150150hasbytes=True
151151else:
152-raiseTypeError('%s() argument must be str or bytes, not %r'%
153-(funcname, s.__class__.__name__)) fromNone
152+raiseTypeError(f'{funcname}() argument must be str, bytes, or '
153+f'os.PathLike object, not {s.__class__.__name__!r}') fromNone
154154ifhasstrandhasbytes:
155155raiseTypeError("Can't mix strings and bytes in path components") fromNone