2020年7月17日 星期五

環境變數路徑Path與IronPython的模組路徑

一個大的程式是由許許多多的小程式及配置檔所組成。而這些小程式和配置檔一般是按照功能分門別類放在不同的目錄當中。如果要呼叫這些小程式及配置檔,必須連同完整路徑寫入程式才行,比如C:\Program Files\AnsysEM\AnsysEM20.2\Win64\ansysedt.exe。呼叫一多,冗長的路徑會使得程式顯得雜亂。況且如果小程式更改了安裝路徑,那麼又要逐行修改呼叫的路徑,修改工作不但麻煩且容易出錯。

(圖一) Windows作業系統Path環境變數

一個簡單的解決方法便是建立Path環境變數。在Windows作業系統當中,環境變數Path字串是由一連串透過分號分隔的目錄路徑所組成,如圖一。當我們在命令列視窗輸入要執行的程式名稱時,比方說ansysedt.exe,則作業系統會到Path當中所列出的目錄依序尋找其中是否有ansysedt.exe。如果找到便會啟動。如果找不到,則會出現尋找不到的訊息。在Python當中如果需要呼叫第三方程式,而該程式所處目錄路徑又不在作業系統的Path環境變數當中,可以用os.environ['path'] += '第三方程式目錄路徑'來添加新的目錄路徑到Path環境變數當中,以擴展作業系統的搜尋範圍。要注意的是,這只有在程式執行期間有效,並不會影響到作業系統的設定。

除了執行第三方程式,Python更常需要呼叫其他Python module來完成工作。想要知道Python搜尋模組的目錄路徑,可以輸入sys.path來檢視,如圖二。如果要加入新的自訂模組,而且該模組存放的目錄不在sys.path當中也跟程式不在相同目錄,那麼可以在程式當中使用sys.path.append('模組目錄路徑')來加入自定模組的目錄路徑。要留意的是作業系統的Path和sys.path是完全不同的事,千萬不要搞混了。

(圖二) AEDT IronPython Module的路徑

沒有留言:

張貼留言