本文为 HinGwenWoong 原创,如果这篇文章对您有帮助,欢迎转载,转载请阅读文末的【授权须知】,感谢您对 HinGwenWoong 文章的认可!
我们在编写代码的时候经常会和文件系统做交互,但是 os.path
属于比较基础的库,我们在提取文件夹的名字、后缀或者父文件名字的时候需要经常用到 split
,切割之后需要对得到的 list
进行提取,有时候得到的效果不是我们需要的,而且代码代码写得也不是特别的友好,这里我们介绍 Python3
自带的库 Path
,可以让我们使用更少的代码但是与之而来的是更高的效率。
我是 HinGwenWoong,一个有着清晰目标不停奋斗的程序猿,热爱技术,喜欢分享,码字不易,如果帮到您,请帮我在屏幕下方点赞 ,您的点赞可以让技术传播得更远更广,谢谢!
该模块提供表示文件系统路径的类,其语义适用于不同的操作系统。路径类被分为提供纯计算操作而没有 I/O 的 纯路径,以及从纯路径继承而来但提供 I/O 操作的 具体路径。
如果你想要在 Unix 设备上操作 Windows 路径(或者相反)。你不应在 Unix 上实例化一个 WindowsPath,但是你可以实例化 PureWindowsPath。
你只想操作路径但不想实际访问操作系统。在这种情况下,实例化一个纯路径是有用的,因为它们没有任何访问操作系统的操作。
方法名 : .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
方法名 : .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
方法名 : .suffix
from pathlib import Path
path_str = Path(r"/usr/HinGwenWoong/demo.py")
path_suffix = path_str.suffix
print(path_suffix)
输出
.py
方法名 : .stem
from pathlib import Path
path_str = Path(r"/usr/HinGwenWoong/demo.py")
path_only_name = path_str.stem
print(path_only_name )
输出
demo
方法名 : .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
方法名 : .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
方法名 : .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
方法名 : is_absolute()
from pathlib import Path
path_str = Path(r"/usr/HinGwenWoong/")
print(path_str.is_absolute())
输出
True
方法名 : 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
方法名 : .exists()
from pathlib import Path
path_str = Path(r"/usr/HinGwenWoong/")
print(path_str.exists())
输出
True
方法名 : .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')]
以上就是我经常使用 Path 的方法,这可以让您操作文件路径的时候更少的代码并且更高效。
我是 HinGwenWoong,一个有着清晰目标不停奋斗的程序猿,热爱技术,喜欢分享,码字不易,如果帮到您,请帮我在屏幕下方点赞 ,您的点赞可以让技术传播得更远更广,谢谢!
作者:HinGwenWoong
一个有着清晰目标不停奋斗的程序猿,热爱技术,喜欢分享,共同进步!
CSDN: HinGwenWoong
原文链接:Python | Path 让文件路径提取变得简单(含代码)