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

问题描述 投票:1回答:2

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

f = open(name + ".txt", "w")
f.write("users inputs here")

当我以.py运行程序时,这绝对可以正常工作>>

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

使用py2app将y .py转换为.app。乍看起来看起来不错,但是当我执行open()和f.write(如下所示)以创建.txt时,它不会创建该文件。 f =打开(名称+“ .txt”,“ w”)f ....

python file-io tkinter fwrite py2app
2个回答
3
投票

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


0
投票

我在程序中遇到了同样的问题,即我打开一个文件并将列标题写入该文件,然后在程序中稍后以循环方式将数据迭代到该文件中。当应用程序转换为.app时,程序到达文件的写入列标题时将失败。如果我将其注释掉,它将可以正常工作。我从列标题中的文本中删除了所有特殊字符,效果很好。不知道为什么会这样。

© www.soinside.com 2019 - 2024. All rights reserved.