导入Path类
from pathlib import Path
创建Path对象
p = Path('C:\Windows\System32') # 用C:\Windows\System32创建Path对象
打印p中路径
print(p)
p的父路径
p.parent
所有p的祖辈路径
p.parents #返回一个列表,序号越大离p越远
p目录下的所有文件
p.iterdir() # 返回一个迭代器,包含p下所有文件
判断p是不是文件
p.is_file()
判断p是不是目录
p.is_dir()
判断p是不是绝对路径
p.is_absolute()
判断p是否符合某一模式
p.match('C:\Windows\*')
在p下搜索符合某一模式文件
p.glob('*.py')
在p及其子目录下搜索符合某一模式文件
p.glob('**\*.py')
p.rglob('*.py')
当p不是目录时,将其创建为目录
p.mkdir()
当p是空目录时,移除p
p.rmdir()
利用relative_to获取当前目录\文件名
p.relative_to(p.parent)
当p是文件时
获取文件名
p.name
获取后缀
p.suffix
附个大招—–目录树
from pathlib import Path
import sys
def lst_tree(p, n):
if p.is_file(): #判断是否是文件
print('|' + '\t|' * n + '-' * 4 + p.name)
elif p.is_dir(): # 判断是否是目录
print('|' + '\t|' * n + '-' * 4 + str(p.relative_to(p.parent)) + '\\')
for pt in p.iterdir():
lst_tree(pt, n + 1) # 递归
if __name__ == "__main__":
# 对命令行参数进行判断
if len(sys.argv) != 1 and Path(sys.argv[1]).exists():
lst_tree(Path(sys.argv[1]), 0)
else:
lst_tree(Path('.'), 0)