让文件路径提取变得更简单的Python Path库


Posted in Python onMay 27, 2021

一、Path 是什么?

该模块提供表示文件系统路径的类,其语义适用于不同的操作系统。路径类被分为提供纯计算操作而没有 I/O 的 纯路径,以及从纯路径继承而来但提供 I/O 操作的 具体路径。

让文件路径提取变得更简单的Python Path库

在一些用例中纯路径很有用,例如:

  • 如果你想要在 Unix 设备上操作 Windows 路径(或者相反)。你不应在 Unix 上实例化一个 WindowsPath,但是你可以实例化 PureWindowsPath。
  • 你只想操作路径但不想实际访问操作系统。在这种情况下,实例化一个纯路径是有用的,因为它们没有任何访问操作系统的操作。

二、使用步骤

1.提取文件名

方法名 : .name

from pathlib import Path

path_str = Path(r"/usr/HinGwenWoong/demo.py")
path_file_name = path_str.name
print(path_file_name)

输出

demo.py

2.提取父文件路径

方法名 : .parent

from pathlib import Path

path_str = Path(r"/usr/HinGwenWoong/demo.py")
path_parent_path = path_str.parent
print(path_parent_path)

输出

\user\HinGwenWoong

3.提取文件后缀

方法名 : .suffix

from pathlib import Path

path_str = Path(r"/usr/HinGwenWoong/demo.py")
path_suffix = path_str.suffix
print(path_suffix)

输出

.py

4.提取无后缀的文件名

方法名 : .stem

from pathlib import Path

path_str = Path(r"/usr/HinGwenWoong/demo.py")
path_only_name = path_str.stem
print(path_only_name )

输出

demo

5.更改文件后缀

方法名 : .with_suffix

from pathlib import Path

path_str = Path(r"/usr/HinGwenWoong/demo.py")
path_suffix = path_str.with_suffix(".json")
print(path_suffix)

输出

\user\HinGwenWoong\demo.json

6.遍历文件

方法名 : .iterdir()

from pathlib import Path

path_str = Path(r"/usr/HinGwenWoong/logs")
for path in path_str.iterdir():
    print(path)

输出

/user/HinGwenWoong/log/20210517.log
/user/HinGwenWoong/log/20210518.log
/user/HinGwenWoong/log/20210519.log
/user/HinGwenWoong/log/20210524.log
/user/HinGwenWoong/log/20210525.log

7.组合文件路径

方法名 : .joinpath

from pathlib import Path

path_str = Path(r"/usr/HinGwenWoong/")
path_str_join = path_str.joinpath("demo.py")
print(path_str_join)

输出

\user\HinGwenWoong\demo.py

8.是否绝对路径

方法名 : is_absolute()

from pathlib import Path

path_str = Path(r"/usr/HinGwenWoong/")
print(path_str.is_absolute())

输出

True

9.是否文件夹 or 文件

方法名 : is_dir()is_file()

from pathlib import Path

path_str = Path(r"/usr/HinGwenWoong/")
print(path_str.is_dir())
print(path_str.is_file())

输出

True
False

10.是否存在

方法名 : .exists()

from pathlib import Path

path_str = Path(r"/usr/HinGwenWoong/")
print(path_str.exists())

输出

True

11.glob

方法名 : .glob

from pathlib import Path

path_str = Path(r"/user/HinGwenWoong/scripts")
print(path_str.glob('*.py'))

输出

[PosixPath('/user/HinGwenWoong/scripts/demo_1.py'),
PosixPath('/user/HinGwenWoong/scripts/demo_2.py')]

到此这篇关于让文件路径提取变得更简单的Python Path库的文章就介绍到这了,更多相关Python Path库内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python实现包含min函数的栈
Apr 29 Python
Python迭代和迭代器详解
Nov 10 Python
python 捕获shell脚本的输出结果实例
Jan 04 Python
python 读写中文json的实例详解
Oct 29 Python
Python爬虫框架Scrapy实例代码
Mar 04 Python
使用python存储网页上的图片实例
May 22 Python
Python 多维List创建的问题小结
Jan 18 Python
python3 requests库文件上传与下载实现详解
Aug 22 Python
python实现学生信息管理系统(精简版)
Nov 27 Python
Python中读取文件名中的数字的实例详解
Dec 25 Python
Python Pandas常用函数方法总结
Jun 15 Python
深入浅析python3 依赖倒置原则(示例代码)
Jul 09 Python
Pytorch中的数据集划分&正则化方法
Pytorch 如何实现常用正则化
PyTorch 实现L2正则化以及Dropout的操作
Python开发之QT解决无边框界面拖动卡屏问题(附带源码)
pytorch 实现在测试的时候启用dropout
使用Python脚本对GiteePages进行一键部署的使用说明
教你使用Python pypinyin库实现汉字转拼音
You might like
Discuz Uchome ajaxpost小技巧
2011/01/04 PHP
php写的AES加密解密类分享
2014/06/20 PHP
php判断输入是否是纯数字,英文,汉字的方法
2015/03/05 PHP
PHP单例模式是什么 php实现单例模式的方法
2016/05/14 PHP
PHP扩展mcrypt实现的AES加密功能示例
2019/01/29 PHP
鼠标经过的文本框textbox变色
2009/05/21 Javascript
Javascript 拖拽的一些高级的应用(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
jQuery增加与删除table列的方法
2016/03/01 Javascript
Javascript中内建函数reduce的应用详解
2016/10/20 Javascript
使用snowfall.jquery.js实现爱心满屏飞的效果
2017/01/05 Javascript
d3.js中冷门却实用的内置函数总结
2017/02/04 Javascript
@ResponseBody 和 @RequestBody 注解的区别
2017/03/08 Javascript
Vue学习之路之登录注册实例代码
2017/07/06 Javascript
React-Native左右联动List的示例代码
2017/09/21 Javascript
JavaScript indexOf()原理及使用方法详解
2020/07/09 Javascript
vue中h5端打开app(判断是安卓还是苹果)
2021/02/26 Vue.js
Python性能优化的20条建议
2014/10/25 Python
Python函数式编程指南(一):函数式编程概述
2015/06/24 Python
python多进程实现进程间通信实例
2017/11/24 Python
python使用magic模块进行文件类型识别方法
2018/12/08 Python
Python 基于jwt实现认证机制流程解析
2020/06/22 Python
PyCharm+Miniconda3安装配置教程详解
2021/02/16 Python
CSS3实现文字波浪线效果示例代码
2016/11/20 HTML / CSS
美国和加拿大房车出售在线分类广告:RVT.com
2018/04/23 全球购物
Amara德国:家居饰品、设计师品牌和豪华礼品
2019/05/20 全球购物
德国最大的婴儿用品网上商店:Kidsroom.de(支持中文)
2020/09/02 全球购物
MYSQL相比于其他数据库有哪些特点
2013/07/19 面试题
如何从一个文件档案的尾端新增记录
2016/12/02 面试题
工程造价专业大学生职业生涯规划书
2014/01/18 职场文书
校庆标语集锦
2014/06/25 职场文书
2014年英语教师工作总结
2014/12/03 职场文书
2015年中学元旦晚会活动方案
2014/12/09 职场文书
2015年采购工作总结
2015/04/10 职场文书
工作态度不好检讨书
2015/05/06 职场文书
《桂花雨》教学反思
2016/02/19 职场文书
HTML+css盒子模型案例(圆,半圆等)“border-radius” 简单易上手
2021/05/10 HTML / CSS