当前位置 : 主页 > 编程语言 > python >

Python----pathlib模块的用法

来源:互联网 收集:自由互联 发布时间:2022-08-10
1、pathlib简介 pathlib是从python3.4版本开始提供的用于处理文件路径等的新增功能的标准库 pathlib中类的继承关系如下: pathlib和os,os.path常用的函数对应关系 2、常用场景举例 2.1、获取当

1、pathlib简介

  • pathlib是从python3.4版本开始提供的用于处理文件路径等的新增功能的标准库
  • pathlib中类的继承关系如下:
  • Python----pathlib模块的用法_后缀

  • pathlib和os,os.path常用的函数对应关系
  • Python----pathlib模块的用法_python_02

2、常用场景举例

2.1、获取当前文件的绝对路径

from pathlib import Path

if __name__=="__main__":
path=Path(__file__).resolve()
print(path)

执行结果为:

G:\src\django\mysite1\mysite1\test.py
2.2、获取当前文件所在的目录的绝对路径
from pathlib import Path

if __name__=="__main__":
path=Path(__file__).resolve().parent
print(path)

执行结果为:

G:\src\django\mysite1\mysite1

2.3、获取一个绝对路径文件的后缀

  • 当文件后缀只有一个点,如xxx.doc,xxx.py等,使用如下方式
from pathlib import Path

if __name__=="__main__":
path=Path("G:/src/django/mysite1/mysite1/test.py")
print(path.suffix)

执行结果如下:

.py
  • 当文件后缀有多个点时,如xxx.tar.gz等,此时获取后缀需要用字符串的join方法处理一下
from pathlib import Path

if __name__=="__main__":
path=Path("G:/src/django/mysite1/mysite1/test.tar.gz")
print(path.suffix)
print(path.suffixes)
print("".join(path.suffixes))

执行结果如下:

.gz
['.tar', '.gz']
.tar.gz

2.4、获取一个路径的上层目录,上上层目录,上上上层目录

from pathlib import Path

if __name__=="__main__":
path=Path("G:/src/django/mysite1/mysite1/test.tar.gz")
print(path.parent)
print(path.parent.parent)
print(path.parent.parent.parent)

执行结果如下:

G:\src\django\mysite1\mysite1
G:\src\django\mysite1
G:\src\django

2.5、路径拼接

  • 方式1:初始化Path实例的时候直接使用多个目录,如:
from pathlib import Path

if __name__=="__main__":
path=Path("G:/","src/django","mysite1","mysite1","test.tar.gz")
print(path)

执行结果为:

G:\src\django\mysite1\mysite1\test.tar.gz
  • 方式二:使用joinpath方法
from pathlib import Path

if __name__=="__main__":
path=Path("G:/src/django/mysite1")
path=path.joinpath("mysite1/test.tar.gz")
print(path)

执行结果如下:

G:\src\django\mysite1\mysite1\test.tar.gz
  • 方式三:直接拼接
from pathlib import Path

if __name__=="__main__":
path=Path("G:/src/django/mysite1")
path=path / "mysite1/test.tar.gz"
print(path)

执行结果如下:

G:\src\django\mysite1\mysite1\test.tar.gz

2.6、从文件绝对路径获取文件名

from pathlib import Path

if __name__=="__main__":
path=Path("G:/src/django/mysite1/mysite1/test.py")
print(path.name)
print(path.stem)
path = Path("G:/src/django/mysite1/mysite1/test.tar.gz")
print(path.name)
print(path.stem)

执行结果如下:可以看出stem函数目前只能在后缀只有一个点的时候好用,存在多个点的时候目前还是有问题的

test.py
test
test.tar.gz
test.tar


上一篇:Python----Python之禅
下一篇:没有了
网友评论