2

スクリプトを で実行すると問題なく動作しますが、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"))
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 に答える