有一個相對路徑,我如何從我加載的elisp文件的位置將它變成絕對路徑。也就是說,我有一個我正在加載的elisp文件,它有一個相對路徑,我需要一個絕對路徑。Elisp中絕對路徑的相對路徑
14
A
回答
17
'file-truename
從文檔:
返回文件名的truename,這 應該是絕對的。通過在文件 的級別處追蹤符號 鏈接以及在包含它的目錄級別 處發現 文件名的激烈名稱,直到沒有鏈接在任何級別上留下 。
提供的另一個解決方案('expand-file-name)留下符號鏈接,這可能是也可能不是你想要的。 'file-truename使用'expand-file-name',所以它們都將確定緩衝區的路徑相對default-directory(這就是你要求的)。
在看到不同答案的評論/問題後,問題在於默認目錄是調用'load'的緩衝區的目錄。
幸運的是,有一個「加載集」的變量,用於存儲要加載的文件的路徑。嘗試此代碼段時指出:
;; this is in the file being loaded
(let ((default-directory (file-name-directory load-file-name)))
(file-truename "blih"))
5
10
我最終使用:
(expand-file-name "relative/path" (file-name-directory load-file-name))
+1
如果你想更加強大,你可以使用`(file-name-directory(或者load-file-name buffer-file-name)'),這會在加載文件或者使用eg Cx Ce。 – 2013-10-28 19:37:39
相關問題
- 1. 相對路徑或絕對路徑
- 2. 絕對路徑和相對路徑
- 3. 改變相對路徑絕對路徑
- 4. Node.js:相對路徑和絕對路徑
- 5. 如何測試Elisp中的路徑是否絕對路徑?
- 6. 更改相對路徑和絕對路徑的基本路徑
- 7. 檢測路徑是絕對路徑還是相對路徑
- 8. 檢查路徑是絕對路徑還是相對路徑
- 9. 絕對與相對路徑
- 10. 相對和絕對路徑
- 11. 相對v絕對路徑?
- 12. python中的絕對路徑和相對路徑問題
- 13. 如何處理Localhost中的相對路徑和絕對路徑
- 14. Java中的File.exists() - 相對路徑或絕對路徑?
- 15. 從python的相對路徑中找到絕對路徑
- 16. 從兩個絕對路徑構建JavaScript中的相對路徑
- 17. VB.NET中絕對路徑的相對路徑
- 18. Linux中的絕對路徑和相對路徑
- 19. 使用絕對路徑或相對路徑陣營路線
- 20. Java中的相對/絕對路徑
- 21. 絕對路徑
- 22. 絕對路徑
- 23. 從絕對路徑中提取相對路徑
- 24. 絕對相對路徑(Eclipse中,JSP)
- 25. 結合的絕對路徑使用相對路徑
- 26. PHP的require_once絕對路徑與相對路徑(不工作)
- 27. preg_replace()絕對路徑的相對路徑。 (Masking?)
- 28. 如何連接QDir的絕對路徑和相對路徑?
- 29. 的Python:絕對路徑相對讓到另一條路徑
- 30. 絕對路徑到相對路徑的轉換
它也可以用於目錄嗎? – Pablo 2008-11-15 09:22:09