使用Python查找文件路径

2025年1月5日 | 阅读 5 分钟

引言

在本教程中,我们将学习如何使用 Python 查找给定文件的路径。Python 用户经常处理数据,尤其是在修改、读取或写入文件时。但在开始处理数据之前,您需要定义数据的路径。简单来说,文件的路径是指文件存储的系统位置或目录。

我们可以从 `__file__` 获取已完成的 `.py` 文件的路径。`__file__` 对于读取其他文件很有用,它给出了正在运行的文件的当前位置。它因版本而异。在 Python 3.8 及更早版本中,`__file__` 在运行 Python 命令时返回指定的路径。如果指定了相对路径,我们可以获得相对路径。如果我们以清晰的方式说明,就会返回打开的方式。但在 Python 3.9 及更高版本中,`__file__` 始终返回一个路径,并且“OS”模块提供了各种实用程序。

方法 1:在这里我们使用 `Path.cwd()` 在 Python 中查找给定文件的路径

在这里,当前工作目录 (CWD) 的概念起着重要作用。将 CWD 视为 Python 运行的文件夹。如果仅按名称调用文件,Python 会假定文件从 CWD 开始。因此,仅使用名称只有在文件位于 Python CWD 中时才有效。`Path.cwd()` 函数用于返回当前目录。

程序代码

在这里,我们提供了一个程序代码,使用 `Path.cwd()` 函数在 Python 中查找给定文件的路径。代码如下:

输出

现在,我们在 Python 中编译上述代码,成功编译后运行它。输出如下:

The Path of this file is:  C:\Users\USER\Desktop\Javatpoint Python Example

方法 2:在这里我们使用 `os.getcwd()` 在 Python 中查找给定文件的路径

我们可以获取当前工作目录的路径。因此,根据使用的版本,会采用相对路径或绝对路径。要在 Python 中获取当前函数名,请使用 `os.getcwd()` 方法。Python OS 模块函数返回一个包含当前工作目录路径的字符串。

程序代码

在这里,我们提供了一个程序代码,使用 `os.getcwd()` 函数在 Python 中查找给定文件的路径。代码如下:

输出

现在,我们在 Python 中编译上述代码,成功编译后运行它。输出如下:

The Path of the current working directory is:  C:\Users\USER\Desktop\Javatpoint Python Example

方法 3:在这里,我们使用 `pathlib.Path().absolute()` 在 Python 中查找给定文件的路径

Python OS 模块函数返回一个字符串,其中包含当前工作目录的路径。

程序代码

在这里,我们提供了一个程序代码,使用 `pathlib.Path().absolute()` 函数在 Python 中查找给定文件的路径。代码如下:

输出

现在,我们在 Python 中编译上述代码,成功编译后运行它。输出如下:

The Path of the current working directory is:  C:\Users\USER\Desktop\Javatpoint Python Example

方法 4:在这里我们使用 `os.path.basename` 在 Python 中查找给定文件的路径

我们可以按如下方式获取文件名和目录名。理解 `__file__` 的关键是解释器会在运行时固定它,以便当一个脚本使用多个 Python 模块时,它知道正在处理哪个文件。调用 `Path(__file__)` 的优点是它返回一个字符串。此字符串包含当前正在处理的路径和文件。您可以在编辑文件时调用 `__file__`。因此,如果您尝试从 shell 解释器调用它,它将不起作用。`__file__` 在 Jupyter Notebook 的上下文中没有函数。

程序代码

在这里,我们提供了一个程序代码,使用 `os.path.basename` 在 Python 中查找给定文件的路径。代码如下:

输出

现在,我们在 Python 中编译上述代码,成功编译后运行它。输出如下:

The file name is: pathfind.py
The directory name is: C:\Javatpoint Python Example\path_of_given_file

方法 5:在这里我们使用 `os.path.abspath` 在 Python 中查找给定文件的路径

这听起来可能并不容易,但 `os.path.abspath()` 的意思是它将路径返回给该函数作为参数传递的路径。文档称此方法会导致路径名性能不佳。

程序代码 1

在这里,我们提供了一个程序代码,使用 `os.path.abspath` 在 Python 中查找正在运行的文件的绝对路径。代码如下:

输出

现在,我们在 Python 中编译上述代码,成功编译后运行它。输出如下:

The absolute path of this file: C:\Javatpoint Python Example\path_of_given_file\ pathfind.py
The absolute directory name is: C:\Javatpoint Python Example\path_of_given_file

程序代码 2

如果我们指定 `os.path.abspath()` 中的绝对路径,它将保持不变,即如果 `__file__` 是绝对路径,即使我们指定 `os.path.abspath(__file__)` 也不会发生错误。在这里,我们提供了一个程序代码,使用 `os.path.abspath` 在 Python 中查找给定文件的绝对路径。代码如下:

输出

现在,我们在 Python 中编译上述代码,成功编译后运行它。输出如下:

The absolute path of this file: C:\Javatpoint Python Example\path_of_given_file\ pathfind.py
By using os.walk: C:\Javatpoint Python Example\path_of_given_file\ pathfind.py

方法 6:在这里我们使用 `Pathlib` 模块在 Python 中查找给定文件的路径

`Pathlib` 模块在 Python 中使创建路径文件变得高效且有效。绝对路径是指包含要访问的文件或目录的完整路径的路径。路径从计算机的主目录开始,一直到您要查看的文件或目录。

程序代码

在这里,我们提供了一个程序代码,使用 `Pathlib` 模块在 Python 中查找给定文件的路径。代码如下:

输出

现在,我们在 Python 中编译上述代码,成功编译后运行它。输出如下:

/home/mycomputer/javatpoint/python.txt

结论

在本教程中,我们将学习如何使用 Python 查找给定文件的路径。在这里,我们提供了各种方法以及合适的示例来查找 Python 中给定文件的路径。