让文件路径提取变得更简单的Python Path库
作者:HinGwenWoong
一、Path 是什么?
该模块提供表示文件系统路径的类,其语义适用于不同的操作系统。路径类被分为提供纯计算操作而没有 I/O 的 纯路径,以及从纯路径继承而来但提供 I/O 操作的 具体路径。
在一些用例中纯路径很有用,例如:
- 如果你想要在 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库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!