如何获取python文件的绝对路径REGARDLESS,无论它是从哪里运行的



我正在尝试获取从终端运行的python文件的绝对路径,无论我运行该文件时在文件系统中的哪个位置。到目前为止,我已经研究过了,但使用pathlib的答案不起作用,正如我即将演示的那样:

path_test.py的内容

import pathlib
path_ = pathlib.Path(__file__).absolute().parent
print(path_)

如果从同一目录或以上的任何目录调用python3 path_test.py,它将打印出预期的输出:

/home/zaid/misc/import_test

现在在同一目录mkdir dir中创建一个目录,其中包含path_test.pycd,现在调用python3 ../path_test.py

输出为:

/home/zaid/misc/import_test/dir/..

破坏了python的importlib的功能,并且是NOT的预期输出。

解决方案是,通过一些快速测试:

import os
import pathlib
path_ = pathlib.Path(os.path.abspath(__file__))

相关内容

  • 没有找到相关文章

最新更新