2016-05-13 2 views
0

私はVizardを使ってpythonスクリプトから.exeファイルを作成しています。私はPythonは.exeの隣にフォルダを作成します

.exeファイルの隣にあるフォルダを作成するには、このスクリプトは私がIDEから実行すると正常に動作しますが、exeファイルにファイルを必要とすることは、Windows /ユーザ/温度にAPPDATAフォルダ内のデータをスローします/ randomfoldername。

また、私はいつもアプリケーションは、そのexeに詰め込まれたスクリプトです。

誰かが正しい方向に私を向けることができますか? ありがとうございます

+0

これを実行すると何の出力が得られますか? –

+0

ideから実行可能なときと実行可能なときの両方で、出力は何ですか? –

+0

私はIDEから実行する: WARNING:ルート:ルート::G:アプリケーションのスクリプト WARNINGです\ WakefulRest WARNING:ルート:G:\ WakefulRest 私はそれが私がログレベル警告を使用するための警告と言う知っている、Gは、USBでありますドライブ。 exe: 同じ出力ですが、Windowsのユーザーフォルダへのパスがあります。 – coernel

答えて

1

sysモジュールには属性frozenがありません。その結果、最初のif文は常にFalseを返します。

sys.executableは、Pythonインタプリタのバイナリへのパスを与えます。 Windowsの場合、あなたのpython.exeファイルのパスは、私はあなたがこれを必要とする理由を見ることはできません。

実行しているファイルが.exeファイルであることを確認する場合は、その隣にフォルダを作成してください。ファイル名が末尾に.exeで終わるかどうかを確認する方が簡単でしょうか?

if __file__.endswith('.exe'): 
    loggingFolder = os.path.join(os.path.dirname(__file__), 'foldername') 
    if not os.path.exists(loggingFolder): 
     os.makedirs(loggingFolder) 
0

あなただけの実行時にフォルダを作成したい場合は、その後、別の(おそらくより簡単に)方法は、例えば

バッチファイルでバッチファイルの中から、あなたのバイザーのプログラムを実行し、最初のフォルダを作成することです create run_viz_prog.batの内容は次のとおりです。 -

mkdir new_folder 
my_viz_prog.exe 
関連する問題