python-获取当前目录路径的几个方法
1、from os.path import abspath, dirname
-
print(abspath(__file__))__file__是一个特殊的变量,它表示当前脚本的文件名(带有路径)。abspath()是一个函数,它返回指定文件或目录的绝对路径。- 因此,这行代码将打印出当前脚本的绝对路径。
-
print(dirname(abspath(__file__)))dirname()是一个函数,它返回指定文件或目录的目录名。- 这里,我们首先使用
abspath(__file__)获取当前脚本的绝对路径,然后使用dirname()获取这个路径的目录部分。 - 这行代码将打印出当前脚本所在的目录的绝对路径。
from os.path import abspath, dirname print(abspath(__file__)) print(dirname(abspath(__file__)))

2、from pathlib import Path
-
print(Path(__file__)):- 这行代码创建了一个
Path对象,该对象表示当前脚本(__file__)的文件路径。 - 打印这个
Path对象通常会显示一个表示文件路径的字符串,这个字符串的格式取决于你的操作系统。在 Unix 和 Unix-like 系统(如 Linux 和 macOS)上,路径通常使用正斜杠(/)作为分隔符;而在 Windows 上,路径使用反斜杠(\)作为分隔符。 - 这个
Path对象本身并没有进行任何路径解析或规范化,它只是封装了__file__变量中的字符串。
- 这行代码创建了一个
-
print(Path(__file__).resolve()):resolve()方法是Path对象的一个方法,它返回路径的绝对版本。如果给定的路径是相对路径,resolve()会解析它,将其转换为绝对路径。- 这意味着如果脚本是从一个相对位置运行的,
resolve()会找到这个相对路径所指向的实际绝对位置。 - 打印这个
resolve()方法的结果会展示脚本的绝对路径,无论它是如何被调用的。
-
print(Path(__file__).resolve().parent):parent是Path对象的一个属性,它返回表示路径父目录的Path对象。- 在这里,
resolve()方法首先被调用,以确保我们得到的是绝对路径。然后,parent属性被用来获取这个绝对路径的父目录。 - 打印这个
parent属性会展示脚本所在目录的绝对路径。
总的来说,这些代码展示了如何使用 pathlib.Path 对象来方便地操作文件路径。Path 对象提供了许多有用的方法和属性,可以轻松地执行诸如获取绝对路径、解析路径、获取父目录等操作,而无需使用传统的字符串操作或文件系统API
from pathlib import Path print(Path(__file__)) print(Path(__file__).resolve()) print(Path(__file__).resolve().parent)

浙公网安备 33010602011771号