📅  最后修改于: 2023-12-03 14:57:17.580000             🧑  作者: Mango
在 Python 程序中,我们有时需要获取资源的路径,比如图片、文本、音频等文件的路径,这篇文章将介绍如何在 Python 中获取资源路径。
注意:以下代码示例在基于 Unix 的操作系统环境下,Windows 或其他操作系统可能有所不同。
使用 os.path.join 方法可以获取资源路径。这个方法接收任意数量的路径字符串,它会自动根据当前操作系统的路径规则(比如 Linux 路径使用“/”,Windows 路径使用“\”)来连接这些路径字符串。
import os
path = os.path.join(os.getcwd(), "resources", "image.jpg")
print(path)
上面代码中通过 os.getcwd 获取当前程序所在路径,然后使用 os.path.join 方法将 resources 和 image.jpg 连接在一起,得到了完整的资源路径。
Python 3.4 引入 pathlib 模块,提供了更加简洁的方法来处理路径名。
from pathlib import Path
path = Path.cwd() / "resources" / "image.jpg"
print(path)
上面代码中使用 Path.cwd 获取当前程序所在路径,然后使用 / 运算符在路径中添加 resources 和 image.jpg,得到了完整的资源路径。
如果你的资源文件是作为包的一部分分发的,可以使用 pkg_resources 模块来获取资源路径。这个模块是 setuptools 中的一个组件,需要先使用 setuptools 安装。
import pkg_resources
path = pkg_resources.resource_filename("my_package", "resources/image.jpg")
print(path)
上面代码中使用 pkg_resources.resource_filename 方法获取 my_package 包中 resources 目录下的 image.jpg 文件路径。
以上就是在 Python 中获取资源路径的三种方法,使用 os.path、pathlib 和 pkg_resources 均可实现。在实际开发中,可以根据具体情况选择最合适的方法。