加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

idl 相对路径 路径 目录查询 文件所在路径  routine_filepath, file_dirname

(2013-08-06 10:05:59)
标签:

文化

http://liangshzh0816.blog.163.com/blog/static/3477676201052710130959/


有时候我们在进行编程的时候,需要知道程序所在的目录,这对于程序移植(在别人的机器上使用)非常有用。

比如我们要将程序和文件都放到同一个目录下,对所有符合条件的数据进行批处理。

当进行编程的时候,我们不能每改换一个文件夹就对程序中的路径改变一次。因此我们需要通过编程,让程序自动的寻找程序所在的路径,这样,无论程序位置怎么改变,这个路径我们都能找到。将这个路径赋予一个变量,那么这个变量值会随着程序的位置改变而变化。

在idl中寻找程序目录的函数是routine_filepath

1.Result = ROUTINE_FILEPATH( Routine [, /EITHER] [, /IS_FUNCTION] )

如果程序不是过程二是一个函数,需要输入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 = FILE_DIRNAME(Path [, /MARK_DIRECTORY])

path=routine_filepath(‘process’)

dir=file_dirname(path)

这时dir便为d:\test\

 

3.ROUTINE_INFO

该函数提供当前程序的信息

Result = ROUTINE_INFO( [Routine] [, /PARAMETERS] [, /SOURCE ] [, /UNRESOLVED] [, /VARIABLES] [, /SYSTEM] [, /DISABLED] [, /ENABLED] [, /FUNCTIONS] )

如添加source关键字,返回值为结构体,包含程序名称及完整路径

4.PATH_SEP

该函数是用来获取‘\’符号

Result = PATH_SEP( [, /PARENT_DIRECTORY] [, /SEARCH_PATH] )

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有