pathlib 面向对象的路径处理与os对比

import os  # os.system 防止.exe报毒
from pathlib2 import Path  # pip install pathlib2

rootPath = os.path.dirname((os.path.dirname(os.path.abspath(__file__))))
# print(rootPath, "-----")  # D:\pythonjs -----
#
# print(os.path.abspath(__file__))  # D:\pythonjs\12\03.py
# print(Path(__file__))  # D:\pythonjs\12\03.py
#
p = Path(__file__)
# print(p.parent.parent)  # D:\pythonjs
#
# print(Path(__file__).parent)  # D:\pythonjs\12
# print(Path(__file__).parents)  # 列表对象 <WindowsPath.parents>
# print(Path(__file__).parents[0])  # 列表元素 D:\pythonjs\12
#
# print(os.path.basename(__file__))  # 03.py
# print(Path(__file__).name)  # 03.py
# print(p.name)  # 03.py

# print(p.cwd())  # D:\pythonjs\12 当前目录   调用函数()
# print(p.home())  # C:\Users\Administrator home目录

# for p in p.cwd().parents:  # 调用属性,不加()
#     print(p)
# D:\pythonjs
# D:

# print(p.suffix)  # .py 文件扩展名
# print(p.suffixes)  # ['.py']  列表格式
# print(p.with_name("033.py"))  # D:\pythonjs\12\033.py   修改名字
# print(p.with_suffix(".txt"))  # D:\pythonjs\12\03.txt   修改后缀

# print(p.joinpath("py"))  # D:\pythonjs\12\03.py\py  # 路径拼接
# print(p / "ppy")  # D:\pythonjs\12\03.py\ppy 路径拼接

# print([path for path in p.parent.iterdir()])  # 遍历当前文件夹

# parents:如果父目录不存在,是否创建父目录。
# exist_ok:只有在目录不存在时创建目录,目录已存在时不会抛出异常。
# p.parent.mkdir(parents=True, exist_ok=True)
# p.rmdir()

# print(p.exists())  # 判断文件是否存在 bool
# print(p.is_dir())  # False
# print(p.is_file())  # True

# 文件属性
# print(p.stat())  # 文件的属性
# os.stat_result(st_mode=33206, st_ino=4464193130631049571,
# st_dev=739963325, st_nlink=1, st_uid=0, st_gid=0, st_size=1786,
# st_atime=1627196510, st_mtime=1627196510, st_ctime=1626954630)
# print(p.stat().st_size)
# print(p.parent.rglob("*.py")) # <generator object Path.rglob at 0x00000210585260B0>
for i in p.parent.rglob("*.py"):  # 遍历后缀.py的目录
    print(i)
# D:\pythonjs\12\03.py
# D:\pythonjs\12\pathlib_learn.py
# D:\pythonjs\12\随机数.py
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值