Python----pathlib模块的用法
  TEZNKK3IfmPf 2023年11月14日 14 0

 

1、pathlib简介

  • pathlib是从python3.4版本开始提供的用于处理文件路径等的新增功能的标准库
  • pathlib中类的继承关系如下:
    Python----pathlib模块的用法
  • pathlib和os,os.path常用的函数对应关系
    Python----pathlib模块的用法

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
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年05月31日   36   0   0 python开发语言
  TEZNKK3IfmPf   2024年05月31日   27   0   0 python
  TEZNKK3IfmPf   2024年05月31日   35   0   0 excelpython
  TEZNKK3IfmPf   2024年05月31日   28   0   0 python
TEZNKK3IfmPf