idl 相对路径 路径 目录查询 文件所在路径 routine_filepath, file_dirname
(2013-08-06 10:05:59)
标签:
文化 |
http://liangshzh0816.blog.163.com/blog/static/3477676201052710130959/
有时候我们在进行编程的时候,需要知道程序所在的目录,这对于程序移植(在别人的机器上使用)非常有用。
比如我们要将程序和文件都放到同一个目录下,对所有符合条件的数据进行批处理。
当进行编程的时候,我们不能每改换一个文件夹就对程序中的路径改变一次。因此我们需要通过编程,让程序自动的寻找程序所在的路径,这样,无论程序位置怎么改变,这个路径我们都能找到。将这个路径赋予一个变量,那么这个变量值会随着程序的位置改变而变化。
在idl中寻找程序目录的函数是routine_filepath
1.Result
如果程序不是过程二是一个函数,需要输入IS_FUNCTION关键字,EITHER关键字设置以后,程序和函数的路径都可以返回
例子:一个程序process.pro
pro process
path=routine_filepath(‘process’)
print ,path
end
那么这个程序返回的path即为process.pro所在的目录
如果process.pro的全路径为d:\test\process.pro,那么path的值就是d:\test\process.pro
尽管routine_filepath可以返回程序的全路径,但是这个并不是必要的,我们更需要的可能是他的上一级目录,这时我们可以用file_dirname函数
2.Result
path=routine_filepath(‘process’)
dir=file_dirname(path)
这时dir便为d:\test\
3.ROUTINE_INFO
该函数提供当前程序的信息
Result
如添加source关键字,返回值为结构体,包含程序名称及完整路径
4.PATH_SEP
该函数是用来获取‘\’符号
Result