python pathlib中Path 的使用(解决不同操作系统的路径问题)
一、 pathlib中的Path库简介
Path将文件或者文件夹路径(str)转换为Path对象, 可以实现不同OS路径连接符问题不同、以及对该路径的其他操作,如判断是否为文件、文件夹,根据路径创建创建文件夹(包括是否递归创建缺少的文件夹)等。
二、 常用的使用方法
1. 忽略不同os连接不同的问题
from pathlib import Path
some_path = 'D:/CodeFiles//server_detection\\datasets\M6_service_data_1020'
p = Path(some_path)
p = p / 'Images'
print(p) # WindowsPath('D:/CodeFiles/server_detection/datasets/M6_service_data_1020/Images')
print(str(p)) #'D:\\CodeFiles\\server_detection\\datasets\\M6_service_data_1020\\Images'
当然也可以用os.path.join()
, 也可以配合使用连接文件分隔符使用,str(p) + os.sep
2. 获取路径下符合自己所设定条件的文件,如.jpg,.txt等文件
# 这个返回的是一个迭代器,需要配合 for循环拿出里面全部的值
p.glob('*.jpg')
# 当然也可以使用 import glob.glob这个库
3. 其他使用方法
p.cwd() # 获取当前路径p.stat() # 获取当前文件的信息p.exists() # 判断当前路径是否是文件或者文件夹p.glob(filename) # 获取路径下的所有符合filename的文件,返回一个generatorp.rglob(filename) # 与上面类似,只不过是返回路径中所有子文件夹的符合filename的文件p.is_dir() # 判断该路径是否是文件夹p.is_file() # 判断该路径是否是文件p.iterdir() #当path为文件夹时,通过yield产生path文件夹下的所有文件、文件夹路径的迭代器P.mkdir(parents=Fasle) # 根据路径创建文件夹,parents=True时,会依次创建路径中间缺少的文件夹
p_news = p/'new_dirs/new_dir'
p_news.mkdir(parents=True)P.open(mode=’r’, buffering=-1, encoding=None, errors=None, newline=None) #类似于open()函数p.rename(target) # 当target是string时,重命名文件或文件夹;当target是Path时,重命名并移动文件或文件夹p.replace(target) # 重命名当前文件或文件夹,如果target所指示的文件或文件夹已存在,则覆盖原文件p.parent(),p.parents() # parent获取path的上级路径,parents获取path的所有上级路径p.is_absolute() # 判断path是否是绝对路径p.match(pattern) # 判断path是否满足patternp.rmdir() # 当path为空文件夹的时候,删除该文件夹p.name # 获取path文件名p.suffix # 获取path文件后缀
python pathlib中Path 的使用(解决不同操作系统的路径问题)相关推荐
- python读取excel图片尺寸_Python读取excel中的图片完美解决方法
excel中有图片是很常见的,但是通过python读取excel中的图片没有很好的解决办法. 网上找了一种很聪明的方法,原理是这样的: 1.将待读取的excel文件后缀名改成zip,变成压缩文件. 2 ...
- Python 的 os.path() 和 pathlib.Path()
os.path() >>> import os 在 Python 中一旦涉及到路径相关的操作,os.path() 模块无疑是用得最多的了,下面就让我们一块来看看吧! 方法 说明 os ...
- 离线安装python第三方库的实用方法:解决公司内网,服务器/电脑不能上网却需要安装python三方库问题(上:Windows环境中)
离线安装python第三方库的实用方法:解决公司内网,服务器/电脑不能上网却需要安装python三方库问题(上:Windows环境中) 参考文章: (1)离线安装python第三方库的实用方法:解决公 ...
- Bug总结:python语言中出现的import error错误的解决思路
Bug总结:python语言中出现的import error错误的解决思路 目录 解决问题 解决方法 解决问题 import error错误 解决方法 T1.查看是否存在该包,要么是python集成好 ...
- python打包包含所有依赖_解决Python开发过程中依赖库打包问题的方法
在Python开发的过程中,经常会遇到各种各样的小问题,比如在一台计算机上调试好的程序,迁移到另外一台机子上后往往会应为工程项目依赖库的缺失而造成错误. 除了一遍又一遍对着被抛出错误去重新instal ...
- python画图显示中文乱码_解决Python pandas plot输出图形中显示中文乱码问题
解决方式一: import matplotlib #1. 获取matplotlibrc文件所在路径 matplotlib.matplotlib_fname() #Out[3]: u'd:\\Anaco ...
- 解决Python shell中Delete-Backspace键乱码问题
解决Python shell中Delete-Backspace键乱码问题 进入Python Shell,按下Delete/Backspace 键,会出现如下图所示的乱码现象,令人头痛.必须按下Ctrl ...
- 解决Python开发过程中依赖库打包问题的方法
在Python开发的过程中,经常会遇到各种各样的小问题,比如在一台计算机上调试好的程序,迁移到另外一台机子上后往往会应为工程项目依赖库的缺失而造成错误. 除了一遍又一遍对着被抛出错误去重新instal ...
- 解决Python开发中,Pycharm中无法使用中文输入法问题
解决Python开发中,Pycharm中无法使用中文输入法问题 参考文章: (1)解决Python开发中,Pycharm中无法使用中文输入法问题 (2)https://www.cnblogs.com/ ...
最新文章
- 华中农大在土壤矿物-微生物相互作用研究方面取得新进展
- python与人工智能编程-Python是人工智能和机器学习的最佳编程语言,证据在此!...
- php 递归实现无限极分类和排序_PHP无限级分类实现层级值间用字符串拼接
- 【Accelerated C++】重点回顾(续)
- 十天学Linux内核之第九天---向内核添加代码
- 计算机操作系统(5):操作系统的结构设计
- python int32 int8_python-使用numpy视图将int32转换为int8
- 又有好奇心,又能自主学习,这个机器人棒棒哒!
- L1-070 吃火锅 (15 分)-PAT 团体程序设计天梯赛 GPLT
- [译] ASP.NET 生命周期 – ASP.NET 上下文对象(七)
- 车牌检测STN:Spatial Transformer Networks
- golang语言chromedp包介绍以及如何弹出浏览器进行调试
- 多目标多角度的快速模板匹配算法(基于NCC,效果无限接近Halcon中........)
- 汉化+破解Substance Painter 2019 macv2019.1.0图文展示
- 杰理之使用MIC隔电容方案,微信语音前几秒也出现“哒哒”【篇】
- 十、FFmpeg视频播放之快进快退
- 洛谷:尼克的任务【记忆化搜索】【记忆化搜索的使用条件】
- 阿里云Maven仓库地址及设置
- 计算机语言低下限高上限,2018年各地高考作文嘤酱不负责的胡乱哔哔
- 我没去BAT,用了8年时间,从乙方变成了甲方
热门文章
- 我读过的书籍 - 2015
- 不惧繁杂背景,视频编辑服务一键实现人像抠图
- Q2.2 Find the kth to last element of a singly linked list
- 售房管理系统的实用价值和延伸功能全方位解析!
- 软件测试 飞机票的订购系统,QTP自带飞机订票系统的测试_登录测试
- 航天信息Aisino ZK-600+II 打印机驱动
- 伽罗华域GF,GF(256)来源
- 数据结构与算法--头歌(educoder)实训作业题目及答案
- 花赚福利社~~~~~~青龙脚本
- 2018_初试 400+_浙大计算机考研经验