关于MaOS Python构建应用程序,请使用OS.GETCWD()返回数据问题

关于MaOS Python构建应用程序,请使用OS.GETCWD()返回数据问题,python,macos,pyinstaller,Python,Macos,Pyinstaller,这是我的代码,它的作用是输出当前的工作目录 # -*- coding: utf-8 -*- import os if __name__ == "__main__": print os.getcwd() 我用pyinstaller打包了脚本,下面是打包命令 pyinstaller -D demo.py 获取/dist/demo目录 # -*- coding: utf-8 -*- import os if __name__ == "__main__": print os.

这是我的代码,它的作用是输出当前的工作目录

# -*- coding: utf-8 -*-

import os

if __name__ == "__main__":
    print os.getcwd()
我用pyinstaller打包了脚本,下面是打包命令

pyinstaller -D demo.py
获取/dist/demo目录

# -*- coding: utf-8 -*-

import os

if __name__ == "__main__":
    print os.getcwd()
无论在任何位置,双击以运行/dist/demo/demo文件

返回的结果是all/Users/myname


但是,在Windows/Linux中,返回结果是双击文件运行的目录。

无法保证
os.getcwd()
在每个环境中都是相同的。这取决于进程是如何产生的


如果您想要可执行文件所在的目录,您可以使用
os.path.dirname(\uu文件\uuu)
os.path.dirname(sys.executable)

获得更好的结果。谢谢,这是一个很好的方法。但是,由于我在项目中返回工作目录的所有位置都使用os.getcwd(),因此很难修改它们。我想找到一种更方便的方法,您可以使用
os.chdir(path)
显式地将pwd设置为上述路径。