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 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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值