我创建了一个小脚本,希望在Mac和Windows上作为可执行文件运行。
我使用--onefile
将可执行文件创建为一个文件,并且希望与可执行文件位于同一目录中。
在Windows os.getcwd()
中使用pyinstaller
后可以正常工作,但是在Mac上它可以恢复为基本路径:
> /Users/User
Traceback (most recent call last):
File "test.py", line 93, in <module>
FileNotFoundError: [Errno 2] No such file or directory: '/Users/user/Invoices/'
[62121] Failed to execute script test
logout
当我将其作为.py
文件运行时,它也会在Mac上获得正确的目录。
我尝试将os.getcwd()
更改为os.path.realpath(__file__)
,但是在使用pyinstaller进行转换时,它仍然给出错误的路径。
我希望能够在Mac上移动可执行文件并使用其所在的任何目录。
答案 0 :(得分:1)
事实证明,以下方法可行:
dir_path = slash.join(sys.argv[0].split(slash)[:-1])
这仅在Mac上使用可执行文件时有效。在Windows上,在运行python脚本时,我仍然使用os.getcwd。