我正在爲Clojure創建第三方庫。在這個庫的核心,我需要從操作系統運行腳本。在這種情況下,我不能使用此文件的絕對路徑,如/Users/me/src/clojure-pymorphy/src/pymorphy/pymorphy.py
。在運行時從clojure確定文件腳本目錄
但是,如果我使用相對路徑script/script.py
- 比有時腳本的位置可能被確定爲錯誤。它取決於我運行/使用這個clojure庫的目錄。由於這個庫將作爲第三方發佈,我需要通過Clojure源代碼來確定script.py
的路徑。
項目文件夾看起來是這樣的:
clojure-pymorphy/
src/
pymorphy/
pymorphy.py
pymorphy.clj
腳本pymorphy.py
從pymorphy.clj
調用。文件pymorphy.clj
從這一行開始:
(ns pymorphy
(:import (java.util ArrayList)
(jep Jep)))
我試圖找出是否有一種方法來確定在運行目錄pymorphy
命名空間,只是簡單地添加"pymorphy/pymorphy.py"
它。但經過數小時的谷歌搜索後,我得出結論:這是不可能的。
那麼有沒有其他方法可以在運行時動態確定clojure命名空間的路徑?
非常感謝。
它以任何方式工作,但如果庫用作第三方,則我的方法不起作用。謝謝 – hsestupin 2012-08-20 19:17:54