码迷,mamicode.com
首页 > 其他好文 > 详细

clisp 文件path

时间:2018-05-17 19:56:04      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:absolute   dirname   txt   ring   ice   lock   parameter   merge   设备   

make-pathname 创建路径名

路径名包含了六个部分:host(主机)、device(设备)、directory(目录)、name(名称)、type(类型) 及 version(版本)
default-pathname-defaults 决定了生成路径的根路径

(defparameter *path* (make-pathname
               :directory '(:relative "a" "b")
               :name "main"
               :type "lisp"))

(print *path*) ; #P"a\\b\\main.lisp"

;; 带盘符
(defparameter *path* (make-pathname
               :device "F"
               :directory '(:absolute "a" "b")
               :name "main"
               :type "lisp"))
(print *path*) ; #P"F:\\a\\b\\main.lisp"

(defparameter *path* (make-pathname
               :directory '(:absolute "a" "b")
               :defaults "main.ts"))
(print *path*) ; #P"\\a\\b\\main.ts"

pathname

更具本地文件名语法解析

(pathname "./a/b/main.txt") ; #P"a\\b\\main.txt"   路径名叙述符
(namestring  #P"a\\b\\main.txt") ; "a\\b\\main.txt" 返回字符传
(directory-namestring  #P"a\\b\\main.txt") ; "a\\b\\"  返回路径的字符串
(file-namestring  #P"a\\b\\main.txt") ; "main.txt"  返回name+type

(pathname-name (pathname "./a/b/main.lisp")) ; main
(pathname-type (pathname "./a/b/main.lisp")) ; lisp
(pathname-directory (pathname "./a/b/main.lisp")) ; (:RELATIVE "a" "b") 相对路径
pathname-host, pathname-device,  返回驱动器字符
pathname-version

合并路径,反转路径

(merge-pathnames #p"dist/index.html" #p"dist/index.html" #p"/www/html/") ; #P"\\www\\html\\dist\\index.html"

(enough-namestring #p"dist/index.html" #p"dist/") ; "index.html"

文件,目录是否存在

不存在返回nil,存在则返回完整的路径

(print (probe-file #p"./as"))

在那个目录执行的脚本

他并不是 __dirname,执行程序所在的文件位置

(directory "./")

clisp 文件path

标签:absolute   dirname   txt   ring   ice   lock   parameter   merge   设备   

原文地址:https://www.cnblogs.com/ajanuw/p/9052763.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!