首页 > 解决方案 > 如何在 python 中使用 pathlib 获取脚本/exe 目录?

问题描述

我在 Python 3.9.2 中制作了一个脚本,它使用 pathlib(pathlib.Path.cwd())来获取当前脚本的文件夹(然后我使用 PyInstaller 制作了一个 .exe 文件)

如果我手动启动脚本/exe不用担心,但是如果我使用windows scheduler或者我在当前文件夹中没有蜜蜂的情况下启动脚本/.exe,pathlib.Path.cwd()(正确地)获取我所在的当前文件夹,而不是脚本的文件夹

例如在 Windows 终端中

cd [...]\folderWithMyScript
py myScript.py

效果很好,但如果我在我的主目录中C:\Users\myName并从那里启动脚本

py [pathToTheScript]

它不会工作(因为他找不到脚本文件夹下面的其他文件夹,整个脚本使用了很多 .joinpath('something')

先感谢您!

标签: pythonpyinstallerwindows-task-schedulerpathlib

解决方案


VersBersch 的答案应该是正确的答案。

Path(__file__).resolve(strict=True).parent[]

推荐阅读