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
pathlib 面向对象的路径处理与os对比
最新推荐文章于 2023-12-29 14:23:58 发布