本文主要是介绍Python 标准库学习之 pathlib,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
导入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 sysdef 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)
这篇关于Python 标准库学习之 pathlib的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!