Python:更改与py2app捆绑的脚本的CWD
我的脚本在使用Python:更改与py2app捆绑的脚本的CWD,python,py2app,Python,Py2app,我的脚本在使用python运行时运行良好,但在使用py2app构建脚本后,文件和文件夹将在.app/Contents/Resources中创建。我使用os.getcwd()查找脚本的位置 如何修复此问题并确保在包含目录的应用程序中创建我的文件 黑客补丁 下面是一个有效的黑客: if re.search('([^/]+$)', cwd).group(0) == "Resources": mkFldr(cwd[0:-27] + fldr) #this is a try exc
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()
如果我正确理解你的要求,我会使用类似于以下的方法来处理这个问题。“冻结”部分会根据您运行的是脚本还是py2exe/py2app可执行文件来更改行为
import sys
import os.path
frozen = getattr(sys, 'frozen', '')
if frozen:
MyFolder = os.path.dirname(sys.executable)
else:
Myfolder = os.getcwd()