使用python
运行时,我的脚本可以正常工作,但是使用py2app
构建脚本后,可以在.app/Contents/Resources
中创建文件和文件夹。我使用os.getcwd()
找出脚本所在的位置。
如何解决此问题并确保在包含目录的应用程序中创建我的文件?
修补错误
这是一种有效的技巧:
if re.search('([^/]+$)', cwd).group(0) == "Resources":
mkFldr(cwd[0:-27] + fldr) #this is a try except function
sanExt(extPath, str(cwd[0:-27] + fldr + "/" + extName + "_san.csv"))
else:
mkfldr(fldr)
sanExt(extPath, str(cwd + "/" + fldr + "/" + extName + "_san.csv"))
最佳答案
如果我正确理解您的要求,则可以使用类似于以下内容的方法来解决此问题。 “冻结”部分根据您运行的是脚本还是py2exe / py2app可执行文件来更改行为。
import sys
import os.path
frozen = getattr(sys, 'frozen', '')
if frozen:
MyFolder = os.path.dirname(sys.executable)
else:
Myfolder = os.getcwd()
关于python - Python:更改与py2app捆绑在一起的脚本的CWD,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11642540/