3.4版本之前:os.path模块

import os
print(os.path.abspath(file)) #返回当前文件的绝对路径
c:\Python006\ww02\test.py
print(os.path.dirname(file)) #返回当前文件的相对路径
c:\Python006\ww02
print(os.path.basename(file)) #返回文件名
test.py
print(os.path.exists(file)) #判断当前文件是否存在
True
print(os.path.join(os.path.abspath(file),'fortest.py')) #把参数2添加到当前目录绝对路径的后面,但不会创建文件
c:\Python006\ww02\test.py\fortest.py
print(os.path.realpath(file)) #返回当前文件的真实路径
c:\Python006\ww02\test.py
print(os.path.relpath(file,'ww02')) #返回从ww02开始的相对路径,后面的路径
test.py
print(os.path.split(file)) #把当前文件的路径切换成文件路径dirname和文件名basename
('c:\Python006\ww02', 'test.py')
print(os.path.splitdrive(file)) #把当前文件路径切换成驱动器和路径组成的元组
('c:', '\Python006\ww02\test.py')
print(os.path.splitext(file)) #返回当前文件路经的路径名字和文件后缀名
('c:\Python006\ww02\test', '.py')

3.4版本开始,pathlib模块,提供Path对象来操作

pathlib的操作对象是各种路径,各种操作系统中使用的路径。pathlib中包含一些类,包含一些继承关系。

PurePosixPath和PureWinsowsPath是PurePath的子类,继承自PurePath。前者用于操作Unix(Mac OS)的路径,后者用于操作Windows风格的路径。此类不关心路径是否真实有效。

PosixPath和WindowPath是Path的子类,分别用于操作Unix(Max OS)风格的路径和Windows风格的路径。Path类操作的类一定的是真实有效的。

Unix操作系统和Windows操作系统,路径的格式是完全不同的,主要区别在于根路径和路径分隔符,

根路径:

unix:/

windows: C:

路径分隔符:

unix: /

windows: \

连接多个字符串为一个路径

from pathlib import *
path = PurePath('http:','biancheng','python')
print(path)-------> http:\biancheng\python windows分隔符\
在Windows系统中输出unix风格的路径字符串
from pathlib import *
path = PurePosixPath('http:','biancheng','python')
print(path)----->http:/biancheng/python unix分隔符/

在使用类构造方法时PurePath,不传入任何参数,默认等同于传入点‘.’,表示当前路径

在构造方法PurePath中包含多个根路径,只会有最后一个根路径和后面的子路径生效。

path = PurePath('C:','D:','myfile.txt')----->D:\myfile.txt

从本质上来讲,PurePath的操作对象是字符串,这写实例属性和实例方法,实质上是对字符串进行操作。

Path类是PurePath的子类,因此,Path类除了支持PurePath提供的各种构造函数,实例属性以及实例方法之外,还提供甄别路径字符串有效性的方法,甚至可以判断该路径对应的是文件还是文件夹,如果是文件,还支持对文件进行读写登操作。

Path有两个子类,分别为PosixPath(unix风格)和WindowsPath(表示Windows风格的路径)