要獲取當(dāng)前EXE的目錄,可以使用`sys`模塊中的`frozen`和`executable`屬性。這兩個(gè)屬性可以幫助你確定程序是否被打包成了可執(zhí)行文件,并獲取可執(zhí)行文件的路徑。
以下是一個(gè)示例代碼:
import sys import os if getattr(sys, 'frozen', False): # 如果程序被打包成了可執(zhí)行文件 exe_dir = os.path.dirname(sys.executable) else: # 如果程序以源代碼形式運(yùn)行 exe_dir = os.path.dirname(os.path.abspath(__file__)) print(exe_dir)
通過(guò)判斷`sys.frozen`屬性是否為`True`,我們可以確定程序是否被打包成了可執(zhí)行文件。如果是,那么`sys.executable`屬性將返回可執(zhí)行文件的路徑。如果不是,我們可以使用`os.path.abspath(__file__)`來(lái)獲取當(dāng)前腳本文件的絕對(duì)路徑,并使用`os.path.dirname()`函數(shù)來(lái)獲取該文件所在的目錄路徑。
請(qǐng)注意,這種方法適用于大多數(shù)情況下,但在某些特殊情況下可能會(huì)有異?;蝈e(cuò)誤。
版權(quán)聲明:文章圖片資源來(lái)源于網(wǎng)絡(luò),如有侵權(quán),請(qǐng)留言刪除!!!
評(píng)論