路径操作模块
3.4版本之前
os.path模块
# os 模块常用函数
from os import path
p = path.join('/etc','sysconfig','network')
print(1,type(p),p)
#<class 'str'> \etc\sysconfig\network
print(2,path.exists(p))
#判断是否存在目录p 存在则True,不存在则False
print(3,path.split(p))
# 分割 ('/etc\\sysconfig', 'network')
print(4,path.basename(p),path.dirname(p))
# 基名network,父路径/etc\sysconfig
print(5,path.abspath(''),path.abspath('.'))
#绝对路径C:\Users\user\python_test C:\Users\user\python_test
print(6,path.splitdrive('o:/temp/test/a'))
# ('o:', '/temp/test/a')
打印父目录
# 打印父目录
from os import path
p1 = 'a/b/c/d/e'
# p1 = path.abspath(p1)
print(p1)
while p1 != path.dirname(p1):
p1 = path.dirname(p1)
print(p1)
a/b/c/d/e
a/b/c/d
a/b/c
a/b
a
3.4版本开始
建议使用pathlib 模块,提供Path对象来操作。包括目标和文件
pathlib模块
from pathlib import Path
目录操作
初始化
from pathlib import Path
p = Path() #当前目录 Path() = Path('.') = Path('')
print(1,p) # .
p = Path('a','b','c/d') # 当前目录下的a/b/c/d
print(2,p) # a\b\c\d
p = Path('/etc',Path('sysconfig')) # 根下的etc目录
print(3,p) # \etc\sysconfig
路径拼接和分解
拼接
- 生成新的路径