使用 py2app “编译”python 后,open()/f.write() 不起作用

use*_*350 2 python file-io tkinter fwrite py2app

使用py2app转换.py.app. 起初,它看起来不错,但是当我执行open()f.write(如下所示)创建一个文件时.txt,它不会创建该文件。

f = open(name + ".txt", "w")
f.write("users inputs here")
Run Code Online (Sandbox Code Playgroud)

当我运行程序时,这工作得非常好.py

任何人有任何想法,我似乎找不到任何可以解释为什么会发生这种情况的东西。

nne*_*neo 5

问题在于当前目录被设置为/从 Finder 启动应用程序时的目录。因此,路径是相对于 的/,而不是相对于您的应用程序包。

要获取 Python exe 的路径,请尝试sys.executable. 请注意,您可能需要添加../../才能退出该Contents/MacOS目录。

然而,更好的解决方案可能是简单地使用文件对话框,允许用户选择保存位置。