我正在尝试使用已成为 Python 3.4+ 标准库一部分的 pathlib 模块来查找和操作文件路径。虽然它是对 os.path 样式函数的改进,能够以面向对象的方式处理路径,但我在处理 Posix 文件系统上的一些更奇特的文件名时遇到了麻烦;特别是名称包含无法解码为 UTF-8 的字节的文件:
>>> pathlib.PosixPath(b'\xe9')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.5/pathlib.py", line 969, in __new__
self = cls._from_parts(args, init=False)
File "/usr/lib/python3.5/pathlib.py", line 651, in _from_parts
drv, root, parts = self._parse_args(args)
File "/usr/lib/python3.5/pathlib.py", line 643, in _parse_args
% type(a))
TypeError: argument should be a path or str object, not <class 'bytes'>
>>> b'\xe9'.decode()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeDecodeError: …Run Code Online (Sandbox Code Playgroud)