- Project:存檔的預設目錄,可使用oDesktop.GetProjectDirectory()取得
- Temp:模擬過程暫存的目錄,可使用oDesktop.GetTempDirectory()取得
- SysLib:系統層級的腳本存放目錄,可使用oDesktop.GetSysLibDirectory()取得
- UserLib:使用者層級的腳本存放目錄,可使用oDesktop.GetUserLibDirectory()取得
- PersonalLib:個人層級的腳本存放目錄,可使用oDesktop.GetPersonalLibDirectory()取得
除了上述目錄,程式開發者還必須熟悉下面幾種目錄:
工作目錄:預設為C:\Program Files\AnsysEM\AnsysEM20.2\Win64,當程式執行儲存檔案時,如果只有標示檔名而沒有標示目錄,則檔案會儲存於此目錄底下。查詢工作目錄可以使用下面代碼:
import os
cwd_path = os.path.abspath(os.getcwd())
AddWarningMessage(str(cwd_path))
程式本身存放的目錄:程式執行時有時需要配置檔,而配置檔往往都是跟程式擺放在同一目錄底下。如不指定目錄,Python會嘗試到工作目錄尋找配置檔,一但找不到配置檔則會引發FileNoFoundException錯誤。為了解決這個問題,建議程式開頭便將工作目錄切換與程式本身所在的目錄,參考代碼如下:
import os
abspath = os.path.abspath(__file__)
dname = os.path.dirname(abspath)
os.chdir(dname)
AddWarningMessage(str(dname))
專案的目錄:當程式需要輸出與專案相關的資料,那麼最好是將資料跟專案放在同一目錄底下方便檢閱。如果目錄底下有多個專案,可以在輸出的檔名插入專案的名稱以利辨別。底下代碼可以取得執行腳本時的專案名稱及專案的儲存路徑:
oProject = oDesktop.GetActiveProject()
prj_path = oProject.GetPath()
prj_name = oProject.GetName()
AddWarningMessage(str(prj_path))
AddWarningMessage(str(prj_name))
沒有留言:
張貼留言