# -*- coding: utf-8 -*-
# pathlib 面向对象的文件系统路径
# 导入库
import pathlib
from pathlib import Path,PurePath,PureWindowsPath,PurePosixPath
#生成一个Path对象
p = Path('E:/pythonProject1')
print(type(p)) # <class 'pathlib.WindowsPath'>
#遍历路径下子路径
# for x in p.iterdir():
# print(x.is_dir()) # True
# print(type(x)) # <class 'pathlib.WindowsPath'>
# 运算符 /
p = p / 'test' / 'a.py'
print(p) #E:\pythonProject1\test\a.py
print(PureWindowsPath(p)) #E:\pythonProject1\test\a.py
# 获取父路径
print(p.parent) #E:\pythonProject1\test
print(p.parents[0],p.parents[1],p.parents[2]) #E:\pythonProject1\test E:\pythonProject1 E:\
# 获取最后路径组件 扩展名 去除扩展名
print(p.name) #a.py
print(p.suffix) #.py
print(p.parent.suffix) #
print(p.stem) #a
# 获取正斜杠(/)分隔的路径字符串
print(p.as_posix()) #E:/pythonProject1/test/a.py
print(type(p.as_posix())) #<class 'str'>
# 当前路径
print(Path.cwd()) #E:\pythonProject1
p1 = Path() # 当前路径
print(p1) #.
print(p1.resolve()) # 当前路径绝对化 #E:\pythonProject1
# 改变模式和权限
# p.chmod(0o444)
# 路径判断
print(p.exists()) # 是否为已存在文件或目录
print(p.is_dir()) # 是否为指向一个目录
print(p.is_file()) # 是否为指向一个文件
# 新建
Path.mkdir(p.parent) # 新建目录
# PurePath() 代表当前系统的路径风格 一个路径片段
print(type(PurePath())) # <class 'pathlib.PureWindowsPath'>
print(PurePath("test","a")) #test\a
print(PurePath(Path("test",Path("a")))) #test\a
#PurePosixPath PurePath 的子类,路径风格不同于 Windows 文件系统:
print(PurePosixPath('foo') == PurePosixPath('FOO')) #False
#PureWindowsPath PurePath 的一个子类,路径风格为 Windows 文件系统路径
print(PureWindowsPath('foo') == PureWindowsPath('FOO')) #True
pathlib 面向对象的文件系统路径
最新推荐文章于 2024-01-13 20:32:01 发布