diff options
Diffstat (limited to 'Lib/genericpath.py')
| -rw-r--r-- | Lib/genericpath.py | 13 | 
1 files changed, 13 insertions, 0 deletions
| diff --git a/Lib/genericpath.py b/Lib/genericpath.py index ca4a5108fd..671406197a 100644 --- a/Lib/genericpath.py +++ b/Lib/genericpath.py @@ -130,3 +130,16 @@ def _splitext(p, sep, altsep, extsep):              filenameIndex += 1      return p, p[:0] + +def _check_arg_types(funcname, *args): +    hasstr = hasbytes = False +    for s in args: +        if isinstance(s, str): +            hasstr = True +        elif isinstance(s, bytes): +            hasbytes = True +        else: +            raise TypeError('%s() argument must be str or bytes, not %r' % +                            (funcname, s.__class__.__name__)) from None +    if hasstr and hasbytes: +        raise TypeError("Can't mix strings and bytes in path components") from None | 
