有一个相对路径,我如何从我加载的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