獲取python生成exe釋放出來的文件路徑

admin Python評論265字?jǐn)?shù) 1054閱讀模式

當(dāng)使用Python的`pyinstaller`庫將Python腳本打包成可執(zhí)行文件(.exe)時(shí),可以使用`sys._MEIPASS`變量來獲取可執(zhí)行文件釋放出來的文件路徑。下面是一個(gè)示例代碼:

import sys
import os

# 獲取可執(zhí)行文件的路徑
exe_path = sys.executable

# 獲取可執(zhí)行文件所在的目錄
exe_dir = os.path.dirname(exe_path)

# 獲取釋放出來的文件路徑
release_file_path = os.path.join(exe_dir, "path/to/release/file")

# 打印釋放出來的文件路徑
print(release_file_path)

在上面的代碼中,`sys.executable`變量用于獲取當(dāng)前可執(zhí)行文件的路徑。然后,使用`os.path.dirname()`函數(shù)獲取可執(zhí)行文件所在的目錄。最后,使用`os.path.join()`函數(shù)將釋放出來的文件路徑與可執(zhí)行文件所在目錄拼接起來。

請注意,`sys._MEIPASS`變量也可以用于獲取可執(zhí)行文件釋放出來的文件路徑。但是,`sys._MEIPASS`變量在某些情況下可能不可用,因此推薦使用上述方法來獲取釋放出來的文件路徑。

第二種方法:

在使用`pyinstaller`等工具進(jìn)行打包時(shí),可以通過`sys._MEIPASS`來獲取`--add-data`參數(shù)指定的文件釋放出來的路徑。

以下是一個(gè)示例代碼:

import sys
import os

# 獲取打包釋放出來的路徑
base_path = getattr(sys, '_MEIPASS', os.path.dirname(os.path.abspath(__file__)))

# 添加--add-data參數(shù)指定的文件路徑
data_path = os.path.join(base_path, 'data')

# 輸出文件路徑
print("文件路徑:", data_path)

在這個(gè)示例中,我們使用`getattr(sys, '_MEIPASS', os.path.dirname(os.path.abspath(__file__)))`來獲取打包釋放出來的路徑。如果`sys._MEIPASS`存在,則返回該路徑,否則返回腳本所在的目錄。

然后,我們使用`os.path.join()`函數(shù)將`data`文件夾與打包釋放出來的路徑拼接在一起,得到最終的文件路徑。

這樣,你就可以獲取到`--add-data`參數(shù)指定的文件釋放出來的路徑了。

希望對你有所幫助!

 

版權(quán)聲明:文章圖片資源來源于網(wǎng)絡(luò),如有侵權(quán),請留言刪除!!!
廣告也精彩
admin
  • 本文由 發(fā)表于 2023年7月19日 22:00:08
  • 轉(zhuǎn)載請務(wù)必保留本文鏈接:http://yudch.cn/10770.html
匿名

發(fā)表評論

匿名網(wǎng)友 填寫信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: