IDL中路径相关函数总结
【转】
系统变量
系统变量 |
描述 |
!DIR |
IDL安装主目录 |
!PATH |
IDL搜索库文件及路径,包含IDL自带库文件路径和用户工作空间路径。 |
!DLM_PATH |
IDL搜索DLM路径 |
!HELP_PATH |
IDL帮助文件路径
|
获取临时路径
IDL> print, GETENV('IDL_TMPDIR')
C:\Users\Administrator\AppData\Local\Temp\
修改工作空间当前路径:CD,通过current关键字获取当前路径
IDL> cd, 'D:\temp'
IDL> cd, current = curPath
IDL> print, curPath
D:\temp
获取指定路径下文件名完整路径 – FilePath
;默认搜索路径为!dir路径下
IDL> print, FILEPATH('people.dat', SUBDIRECTORY=['examples','data'])
C:\Program Files\Exelis\IDL82\examples\data\people.dat
;也可手动指定ROOT_DIR,即根目录
IDL> print, filepath('ruleset.xml', root_dir = 'D:\', subdirectory = ['temp'])
D:\temp\ruleset.xml
;获取系统路径下某文件夹路径
IDL> print, filepath('data')
C:\Program Files\Exelis\IDL82\data
IDL> print, filepath('bin')
C:\Program Files\Exelis\IDL82\bin
;关键字TMP,返回临时目录下自定文件名的完整路径
IDL> print, filepath('a.dat', /tmp)
C:\Users\Administrator\AppData\Local\Temp\a.dat
创建新路径
;如果不指定路径,则默认在当前路径下创建新文件夹
IDL> file_mkdir, 'test_mkdir'
;创建指定路径目录
IDL> file_mkdir, 'D:\temp\temp\temp'
判断文件/路径是否存在、文件是否为可执行文件、是否可读、可写等。 — File_Test
IDL> print, file_test('D:\temp\aaaa.dat')
0
IDL> print, file_test('D:\temp\temp', /directory)
1
IDL> print, file_test('D:\temp\temp1', /directory)
0
IDL> print, file_test('D:\temp\ruleset.xml', /write)
1
IDL> print, file_test('D:\temp\ruleset.xml', /executable)
0
获取已编译某程序文件路径
IDL> print, routine_filepath('helloworld')
D:\IDLWorkspace82\Default\helloworld.pro
;常用此方法获取当前程序路径
IDL> print, file_dirname(routine_filepath('helloworld'))
D:\IDLWorkspace82\Default
IDL 8.2.2可以使用如下方法,即不需要输入过程名
IDL> print, file_dirname(routine_filepath())
D:\IDLWorkspace82\Default
获取完整文件名,以当前路径为基础
IDL> file = 'D:\temp\test_file.dat'
IDL> print, file_dirname(file)
D:\temp
IDL> print, file_basename(file)
test_file.dat
获取系统路径!Path或指定路径下的文件完整路径 – File_Which
IDL> print, FILE_WHICH('file_which.pro')
C:\Program Files\Exelis\IDL82\lib\file_which.pro
IDL> print, FILE_WHICH('D:\temp', 'ruleset.xml')
D:\temp\ruleset.xml
;在!Path下没有搜索到ruleset.xml文件
IDL> print, FILE_WHICH('ruleset.xml')
;include_current_dir关键字表示将当前路径加入到搜索路径下
IDL> print, FILE_WHICH('ruleset.xml', /include_current_dir)
D:\temp\ruleset.xml
获取当前系统的路径分隔符
IDL> print, path_sep()
\
Dialog_Pickfile函数
Result = DIALOG_PICKFILE( [, DEFAULT_EXTENSION=string] [, /DIRECTORY] [, DIALOG_PARENT=widget_id] [, DISPLAY_NAME=string] [, FILE=string] [, FILTER=string/string array] [, /FIX_FILTER] [, GET_PATH=variable] [, GROUP=widget_id] [, /MULTIPLE_FILES] [, /MUST_EXIST] [, /OVERWRITE_PROMPT] [, PATH=string] [, /READ | , /WRITE] [, RESOURCE_NAME=string] [, TITLE=string] )
关键字 |
含义 |
默认返回文件名后缀 |
|
打开返回路径的对话框 |
|
后缀名筛选 |
|
获取对话框上一次选择的路径 |
|
是否支持多选文件(按住Ctrl或Shift时) |
|
默认打开路径 |
|
对话框标题 |