当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python pathlib.PurePath用法及代码示例


用法:

class pathlib.PurePath(*pathsegments)

表示系统路径风格的泛型类(实例化它会创建 PurePosixPathPureWindowsPath ):

>>> PurePath('setup.py')      # Running on a Unix machine
PurePosixPath('setup.py')

pathsegments 的每个元素可以是表示路径段的字符串、实现返回字符串的 os.PathLike 接口的对象或另一个路径对象:

>>> PurePath('foo', 'some/path', 'bar')
PurePosixPath('foo/some/path/bar')
>>> PurePath(Path('foo'), Path('bar'))
PurePosixPath('foo/bar')

pathsegments 为空时,假定当前目录为:

>>> PurePath()
PurePosixPath('.')

当给出多个绝对路径时,将最后一个作为锚点(模仿 os.path.join() 的行为):

>>> PurePath('/etc', '/usr', 'lib64')
PurePosixPath('/usr/lib64')
>>> PureWindowsPath('c:/Windows', 'd:bar')
PureWindowsPath('d:bar')

但是,在 Windows 路径中,更改本地根目录不会丢弃之前的驱动器设置:

>>> PureWindowsPath('c:/Windows', '/Program Files')
PureWindowsPath('c:/Program Files')

虚假的斜线和单点会被折叠,但双点 ('..') 不会,因为这会改变面对符号链接的路径的含义:

>>> PurePath('foo//bar')
PurePosixPath('foo/bar')
>>> PurePath('foo/./bar')
PurePosixPath('foo/bar')
>>> PurePath('foo/../bar')
PurePosixPath('foo/../bar')

(一种天真的方法会使 PurePosixPath('foo/../bar') 等同于 PurePosixPath('bar') ,如果 foo 是指向另一个目录的符号链接,则这是错误的)

纯路径对象实现os.PathLike 接口,允许在任何接受接口的地方使用它们。

在 3.6 版中更改:增加了对os.PathLike接口。

相关用法


注:本文由纯净天空筛选整理自python.org大神的英文原创作品 pathlib.PurePath。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。