在 Python 中获取当前文件的路径
在 Python 中,我们可以处理许多文件和模块,并不断与文件系统交互。要导入或导出文件,我们需要知道这些文件的正确路径和目录,否则就会出现错误。知道当前正在运行的 Python 脚本的路径或其他一些文件的路径也是必不可少的。
当前的工作目录就是我们当前正在工作的 Python 的目录。
本教程将介绍如何在 Python 中获取当前文件和当前工作目录的完整路径和目录。
使用 pathlib
模块获取文件路径和当前工作目录的方法
pathlib
库适用于 Python 3.x 及以上版本,它包含了处理文件路径相关问题的类、方法。
在下面的代码中,我们将使用 pathlib
模块提供的函数提取一个 Python 脚本的路径。
import pathlib
print(pathlib.Path(__file__).parent.absolute())
输出:
C:\Sample\Python
absolute()
方法返回文件的完整路径,parent()
函数从这个路径中检索文件的目录。
为了得到当前的工作目录,我们将上述函数中的文件名去掉。下面的代码展示了如何操作。
import pathlib
print(pathlib.Path().absolute())
输出:
C:\Sample\Python
使用 os
模块获取文件路径和当前工作目录
os
库是用来与操作系统交互的,它有函数可以检索文件的完整路径。这种方法在 Python 2.x 中也可以使用。
abspath()
函数可以得到所需文件的路径,dirname()
函数从完整路径中得到目录。
例如:
import os
print(os.path.dirname(os.path.abspath(__file__)))
输出:
C:\Sample\Python
我们不能直接使用 dirname()
函数来获取文件的目录,因为它返回的是一个空字符串。
我们也可以使用 realpath()
函数来替代 abspath()
函数。如果路径中存在符号链接,它就会将其删除。
import os
print(os.path.dirname(os.path.realpath(__file__)))
输出:
C:\Sample\Python
为了得到当前的工作目录,我们可以使用 getcwd()
函数来返回当前的目录路径。我们可以将这个路径传递给 dirname()
函数来获取目录。
例如:
import os
print(os.path.abspath(os.getcwd()))
输出:
C:\Sample\Python
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn