2

我的脚本python使用. 我用来找出脚本所在的位置。py2app.app/Contents/Resourcesos.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"))
4

1 回答 1

0

如果我理解您的要求正确,我会使用类似于以下内容的内容来处理此问题。“冻结”部分会根据您是运行脚本还是 py2exe/py2app 可执行文件来更改行为。

import sys
import os.path

frozen = getattr(sys, 'frozen', '')

if frozen:
    MyFolder = os.path.dirname(sys.executable)
else:
    Myfolder = os.getcwd()
于 2012-07-27T12:50:43.187 回答