如何解决如何在python中使用pathlib获取脚本/ exe目录?
我在 Python 3.9.2 中制作了一个脚本,它使用 pathlib (pathlib.Path.cwd())
来获取当前脚本的文件夹
(然后我使用 PyInstaller 制作了一个 .exe 文件)
如果我手动启动脚本/exe 不用担心,但是如果我使用 Windows 调度程序或者我启动脚本/.exe 而没有在当前文件夹中,pathlib.Path.cwd()
(正确地)获取我所在的当前文件夹,不是脚本的文件夹
例如 在 windows 终端中
cd [...]\folderWithMyScript
py myScript.py
效果很好,但如果我在我的主目录 C:\Users\myName
中并且我从那里启动脚本
py [pathToTheScript]
它不会工作(因为他找不到脚本文件夹下面的其他文件夹,整个脚本使用了很多.joinpath('something')
先谢谢你!
解决方法
pathlib.Path.cwd()
不会给你你脚本的文件夹,它是获取当前工作目录。也就是你运行命令来运行脚本的地方。获取脚本文件夹的正确方法是:os.path.dirname(os.path.realpath(__file__))
见How can I find script's directory?
,所以,最后我放弃并使用了 os
lib
我做了这样的事情(所以我仍然可以在整个脚本中使用 pathlib)
trueDir = pathlib.Path(os.path.dirname(os.path.realpath(__file__)))
感谢您的所有友好回答!
,VersBersch's 答案应该是正确答案。
Path(__file__).resolve(strict=True).parent[]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。