當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。