8.1.2 纯路径操作
Posted caimouse
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了8.1.2 纯路径操作相关的知识,希望对你有一定的参考价值。
纯路径操作对象提供了一些操作路径的功能,但不会访问文件系统的功能。主要提供下面三个类对象:
class pathlib.PurePath(*pathsegments)
创建一个通用表示文件路径的类。
例子:
#python 3.4
from pathlib import *
p = PurePath('F:\\\\temp\\\\py')
print(p)
p = PurePath('foo', 'some/path', 'bar')
print(p)
p = PurePath(Path('foo'), Path('bar'))
print(p)
结果输出如下:
F:\\temp\\py
foo\\some\\path\\bar
foo\\bar
class pathlib.PurePosixPath(*pathsegments)
它是PurePath的子类,提供了对非Windows系统的路径操作。
例子:
#python 3.4
from pathlib import *
p = PurePosixPath('/py')
print(p)
结果输出如下:
/py
class pathlib.PureWindowsPath(*pathsegments)
它是PurePath的子类,提供了对Windows系统的路径操作。
例子:
#python 3.4
from pathlib import *
p = PureWindowsPath('c:/py')
print(p)
结果输出如下:
c:\\py
以上几个类,无论在什么操作系统上都可以使用,因为它们都不会调用操作系统的系统调用功能。
路径对象是不可改的对象,并且是可以HASH的对象,因此路径对象是可以进行比较和排序的操作。
例子:
#python 3.4
from pathlib import *
p = PureWindowsPath('c:/py') == PureWindowsPath('c:/PY')
print(p)
p = PureWindowsPath('FOO') in { PureWindowsPath('foo') }
print(p)
p = PureWindowsPath('C:') < PureWindowsPath('d:')
print(p)
结果输出如下:
True
True
True
但不同的系统路径对象是不能进行比较的,比如PureWindowsPath对象不能与PurePosixPath对象进行比较。
PurePath.parts
独立地访问路径每一部分,返回一个元组。
例子:
#python 3.4
from pathlib import *
p = PurePath('/usr/bin/python3')
print(p)
print(p.parts)
p = PureWindowsPath('c:/blog.csdn.net/caimouse')
print(p.parts)
结果输出如下:
\\usr\\bin\\python3
('\\\\', 'usr', 'bin', 'python3')
('c:\\\\', 'blog.csdn.net', 'caimouse')
蔡军生 QQ:9073204 深圳
以上是关于8.1.2 纯路径操作的主要内容,如果未能解决你的问题,请参考以下文章