Python Path库 让文件路径提取变得更简单的Python Path库
HinGwenWoong 人气:4一、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')]
加载全部内容