如何使用Python pathlib模块进行路径操作?

2026-05-16 15:411阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计779个文字,预计阅读时间需要4分钟。

如何使用Python pathlib模块进行路径操作?

1. pathlib简介pathlib是Python 3.4版本开始提供的一个用于处理文件路径等的新标准库。它提供了丰富的功能来处理文件系统路径,使得路径操作更加便捷。

2. 常用场景举例

2.1 获取当前路径

pythonfrom pathlib import Path

current_path=Path()print(current_path) # 输出当前路径

1、pathlib简介

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

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 pathlib模块进行路径操作?

标签:用法pa

本文共计779个文字,预计阅读时间需要4分钟。

如何使用Python pathlib模块进行路径操作?

1. pathlib简介pathlib是Python 3.4版本开始提供的一个用于处理文件路径等的新标准库。它提供了丰富的功能来处理文件系统路径,使得路径操作更加便捷。

2. 常用场景举例

2.1 获取当前路径

pythonfrom pathlib import Path

current_path=Path()print(current_path) # 输出当前路径

1、pathlib简介

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

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 pathlib模块进行路径操作?

标签:用法pa