有没有方法可以获取正在执行的LISP文件的全路径

有没有方法可以获取正在执行的LISP文件的全路径,第1张

应当可以吧,思路就是命令是唯一的,查找这个命令就能够找到文件夹:

按CAD里面的lisp为例,首先搜索acaddoclsp为后缀的文件,这个文件是自动加载文件,打开文件,读取内容,得到文件名,然后按文件名搜索,搜索一个文件就打开,读取字串符,如果命令为(DEFUN C:TES ,注意里面有空格,把字串符全部变大写进行比较,那么搜索这个字串符内容,如果找到,那么就是你要搜索的文件全路径了。如果是子命令也同样这样搜索。我想,在CAD里面使用命令也是这样来搜索的。

具体的没有测试。

相对路径的话,可以先获取到当前文件的编译路径,之后在找到想找文件的路径的思路来实现。

举例:

XMLSclassgetClass()getResourceAsStream("/test/testxml");

解释:XMLSclassgetClass()是获取当前的类编译路径,之后通过getResourceAsStream的形式即可找到要读取的文件的路径。

备注:这个方法中后面的路径也可以通过截取的形式来进行路径获取,实现原理都是找到当前类路径,之后通过相对位置找到另外文件路径。

相对路径的话,可以先获取到当前文件的编译路径,之后在找到想找文件的路径的思路来实现。

举例:

XMLSclassgetClass()getResourceAsStream("/test/testtxt");

解释:XMLSclassgetClass()是获取当前的类编译路径,之后通过getResourceAsStream的形式即可找到要读取的文件的路径。

绝对路径的话,可以通过“ 类名classgetResource("")getPath()”方法实现。

举例:”String path = XMLSclassgetResource("")getPath()“

解释:以上语句就是获取到XMLS编译后的绝对路径(无法获取到java文件路径的,因为java运行的都是class文件)。

如果你是单纯的要获取绝对路径,可以用1楼的方法如果你是要获取文件路径后对文件 *** 作,你可以用TextBox和FileUpload组合,把FileUpload的宽设为0后,这个组合看上去就仍然像一个FileUpload,然后在pageload里面写下面一行:

thisFileUpload1AttributesAdd("onchange", "documentgetElementById('" + TextBox1ClientID + "')value = thisvalue");

这样TextBox的text属性值就是所选文件的绝对路径值

像这样的文章很多,随便找了一个你看看

获取文件目录路径的JavaScript代码

很多时候我们都需要在js文件中获取该文件的详细路径,以便根据其他文件与该js的相对位置计算并设置其他一些文件如或样式或脚本的目录路径。我们一般都这样做:

假设外部js文件的文件名为:testjs,则在testjs中都这样写:

var js=documentscripts;

var jsPath;

for(var i=0;i<jslength;i++){

if(js[i]srcindexOf("testjs")>-1){

jsPath=js[i]srcsubstring(0,js[i]srclastIndexOf("/")+1);

}

}

alert(jsPath);

或者为了提高效率,这样写

var js=documentscripts;

var jsPath;

for(var i=jslength;i>0;i--){

if(js[i-1]srcindexOf("testjs")>-1){

jsPath=js[i-1]srcsubstring(0,js[i-1]srclastIndexOf("/")+1);

}

}

alert(jsPath);

这种思路很清晰,根据文件名获取引用的文件的src属性并进行判断截取即可。

但这种办法有以下两个缺点:

1、需要遍历页面的js文件,有时可能效率会比较低。

2、如果页面中出现目录不同的重名的js文件则可能判断错误。

其实我们可以有更简单的办法来准确获取路径,这是在一次js测试突然发现并幡然醒悟的。

var js=documentscripts;

js=js[jslength-1]srcsubstring(0,js[jslength-1]srclastIndexOf("/")+1);

alert(js);

直接使用jslength?这会正确吗?

其实仔细想想,由于判断路径的js代码一般都直接放在js文件中而不是函数中,所以当加载该js文件时会立即执行其中的语句,而执行此语句时所获取到的js文件数目正好是jslength-1,因为页面后面的js文件还没有加载,所以该处的js文件获取的数目并不是页面所有的js文件的数目。这样一来,获取路径就无需再遍历了,而且文件判断也无需文件名,判断更加准确(jslength-1永远都是其文件本身)。

获取windows系统临时目录

<script>

var fso = new ActiveXObject("ScriptingFileSystemObject");

var f = fsoGetSpecialFolder(2);

alert(f);

</script>

使用pyinstaller可以把py文件打包为exe可执行文件,命令为:

打包后有两个文件夹,一个是dist,另外一个是build,可执行文件在dist文件夹里面,但是会有许多依赖是独立文件存在

使用-F参数后,打包的可执行文件是一个整体,只有一个exe文件。

获取文件路径的方式有四种,可以在打包成exe文件后,获取exe文件的当前路径

在ide界面的执行结果如下:

在exe文件的执行结果为:我是把exe文件放到桌面运行的。

java文件中获得路径

ThreadcurrentThread()getContextClassLoader()getResource("") //获得资源文件(class文件)所在路径

ClassLoadergetSystemResource("")

Class_NameclassgetClassLoader()getResource("")

Class_Nameclass getResource("/")

Class_Nameclass getResource("") // 获得当前类所在路径

SystemgetProperty("userdir") // 获得项目根目录的绝对路径

SystemgetProperty("javaclasspath") //得到类路径和包路径

打印输出依次如下:

file:/F:/work_litao/uri_test/WebContent/WEB-INF/classes/

file:/F:/work_litao/uri_test/WebContent/WEB-INF/classes/

file:/F:/work_litao/uri_test/WebContent/WEB-INF/classes/

file:/F:/work_litao/uri_test/WebContent/WEB-INF/classes/

file:/F:/work_litao/uri_test/WebContent/WEB-INF/classes/com/xml/imp/

F:\work_litao\uri_test

F:\work_litao\uri_test\WebContent\WEB-INF\classes;F:\work_litao\uri_test\WebContent\WEB-INF\lib\dom4jjar

2、 JSP中获得当前应用的相对路径和绝对路径

根目录所对应的绝对路径:requestgetRequestURI()

文件的绝对路径:applicationgetRealPath(requestgetRequestURI());

当前web应用的绝对路径 :applicationgetRealPath("/");

取得请求文件的上层目录:new File(applicationgetRealPath(requestgetRequestURI()))getParent()

31 JSP中获得当前应用的相对路径和绝对路径

根目录所对应的绝对路径:requestgetRequestURI()

文件的绝对路径:applicationgetRealPath(requestgetRequestURI());

当前web应用的绝对路径 :applicationgetRealPath("/");

取得请求文件的上层目录:new File(applicationgetRealPath(requestgetRequestURI()))getParent()

3、Servlet中获得当前应用的相对路径和绝对路径

根目录所对应的绝对路径:requestgetServletPath();

文件的绝对路径 :requestgetSession()getServletContext()getRealPath(requestgetRequestURI())

webapp路径:requestgetSession()getServletContext()getRealPath("/")

当前web应用的绝对路径 :servletConfiggetServletContext()getRealPath("/");

(ServletContext对象获得几种方式:

javaxservlet>

先声明再获取文件路径。

1、在VBA编辑器中声明一个Variant类型的数组变量arrFile。

2、使用FileSystemObject对象的GetFolder函数来获取指定文件夹的路径,并将结果赋值给arrFile。

3、使用arrFile变量来访问该路径中的文件的属性,例如文件名、文件大小等。

以上就是关于有没有方法可以获取正在执行的LISP文件的全路径全部的内容,包括:有没有方法可以获取正在执行的LISP文件的全路径、java读取XML文件路径问题、如何找到通过* csproject文件参考路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9748491.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存