超好用的python标准库——pathlib

官方文档

os和pathlib对比

  • 判断当前目录下的目录
python 复制代码
>>> p = Path('.')
>>> [x for x in p.iterdir() if x.is_dir()]
[WindowsPath('data')]
python 复制代码
>>>[i for i in glob.glob("*") if os.path.isdir(i)]
['data']
  • 返回当前目录下的所有文件(包括子文件)
python 复制代码
>>>list(p.glob("**/*"))
python 复制代码
>>>list(glob.glob("**/*", recursive=True))
python 复制代码
使用os包需要递归,比较复杂
  • 路径拼接
python 复制代码
>>>p = p/'__init__.py'
WindowsPath('__init__.py')
python 复制代码
>>>os.path.join('.', '__init__.py')
.\__init__.py
  • 打开文件
python 复制代码
with p.open() as f:
    f.read()

以上都是比较常用的操作,更多操作请看官方文档,作对比后个人感觉确实比os操作简便很多

相关推荐
2301_76415056几秒前
c++如何读取和解析带BOM头的UTF-8与UTF-16文本流【详解】
jvm·数据库·python
qq_424098564 分钟前
HTML函数开发用窄边框笔记本有优势吗_便携与性能权衡【指南】
jvm·数据库·python
Wyz201210247 分钟前
CSS如何实现导航栏下划线随鼠标移动_利用-hover伪类与过渡动画控制
jvm·数据库·python
2201_761040598 分钟前
SQL如何统计每个用户的首次行为时间_MIN聚合与分组
jvm·数据库·python
qq_1898070314 分钟前
mysql如何实现定时清理缓存数据_利用event scheduler执行
jvm·数据库·python
Polar__Star16 分钟前
golang如何实现低功耗设备唤醒机制_golang低功耗设备唤醒机制实现教程
jvm·数据库·python
a95114164218 分钟前
CSS怎么在flex布局中实现项目均分间距_设置justify-content space-evenly
jvm·数据库·python
2201_7610405924 分钟前
Golang如何做灰度发布_Golang灰度发布教程【实战】
jvm·数据库·python
baidu_3409988231 分钟前
CSS Grid布局如何实现项目在网格内填充_掌握justify-items属性
jvm·数据库·python
2401_8971905535 分钟前
JavaScript中数组洗牌算法Shuffle的随机性优化处理
jvm·数据库·python