1

を介して実行可能なPythonファイルを作成しましたpy2exe

この実行可能ファイルをdistフォルダーで実行すると、問題なく実行されます。

distこのプログラムは、フォルダ内のファイル(参照データを含むtxtファイル)にアクセスできる必要があります。

デスクトップにその実行可能ファイルへのショートカットを作成すると、プログラムは実行されますが、正しく機能しません。プログラムは、そのフォルダがexeの場所ではなく、ショートカットのあるフォルダであるため実行されているようです。そのため、参照データを含むこれらのtxtファイルを見つけることができません。

私のコードでは、これらのtxtファイルを次のように呼び出します。

ref_correction = np.matrix(np.genfromtxt( 'Reference_Data.txt' ))

どうすればこれを修正できますか?

4

2 に答える 2

1

__file__変数 (現在コードを記述している Python ファイルへのパスを含む)を使用して、データ ファイルへのパスを作成できます。それを絶対パスに拡張して ( を使用os.path.abspath())、そのパスのディレクトリ部分だけを取得して、データ ファイルの名前と結合することができます。

于 2013-02-25T10:42:37.463 に答える
0

代わりにこれを使用してください:

path = os.getcwd()   #Where the 'exe' file is stored 

otherpath = os.path.join(path, '../Folder/SubFolder/') #Creates a new path

「.exe」ファイルを作成するとき、「__ file __」はパスに適用されなくなったため、上記の行で現在の作業ディレクトリを取得する必要があります。これにより、「.exe」とすべての必要なファイルが現在あるディレクトリへのパスが更新されます。

于 2014-01-04T00:13:49.493 に答える