원래라면 file_search()함수만 소개할까 했지만, 워낙 내용이 적은 관계로 file_which()함수도 같이 소개해보고자 합니다. 파일을 다루기 위해서는 꽤나 중요하게 이용할 수 있을 겁니다.
우선 file_search()함수는 이름 그대로 파일을 찾는 함수입니다. 기본적으로 작업공간의 디렉토리에서 검색을 하며, 디렉토리를 입력하면 그 디렉토리에서 파일을 찾아줍니다. 다음과 같이 간단하게 함수의 이용을 알아볼 수 있습니다.
1 2 3 4 5 6 7 8 9 10 |
IDL> findpro='C:\\Program Files\\Exelis\\IDL82\\lib\\*.pro' IDL> result1=file_search(findpro,count=ct) IDL> print,result1[0:10] C:\Program Files\Exelis\IDL82\lib\a_correlate.pro C:\Program Files\Exelis\IDL82\lib\adapt_hist_equal.pro C:\Program Files\Exelis\IDL82\lib\amoeba.pro C:\Program Files\Exelis\IDL82\lib\annotate.pro C:\Program Files\Exelis\IDL82\lib\array_indices.pro C:\Program Files\Exelis\IDL82\lib\arrow_internal.pro C:\Program Files\Exelis\IDL82\lib\ascii_template.pro C:\Program Files\Exelis\IDL82\lib\bandpass_filter.pro C:\Program Files\Exelis\IDL82\lib\bandreject_filter.pro C:\Program Files\Exelis\IDL82\lib\bar_plot.pro C:\Program Files\Exelis\IDL82\lib\beta.pro IDL> print,ct 403 |
위의 예제에서는 IDL의 lib폴더내에 있는 .pro파일을 검색하는 과정을 보여주고 있습니다. result1에는 모든 파일의 위치가 string array로 저장되며, ct에는 검색된 파일의 총 갯수가 저장되는 것을 알 수 있습니다. 함수는 사용하기 어렵지 않네요. 많은 분들이 간단히 해보실 수 있으실 겁니다.
file_which()는 파일의 이름을 알 때 위치를 찾아주는 함수입니다. file_which()함수를 이용해서 file_which.pro의 위치를 찾아보도록 하겠습니다.
1 2 3 |
IDL> result2=file_which('file_which.pro') IDL> print,result2 C:\Program Files\Exelis\IDL82\lib\file_which.pro |
딱히 어려운 부분은 없지만, file_which함수의 형태는 아래와 같습니다.
Result = FILE_WHICH( [Path, ] File [, /INCLUDE_CURRENT_DIR] )
Path는 검색할 디렉토리를 입력하는데, 입력하지 않을 경우 시스템 변수 !Path가 기본으로 들어갑니다. 또한 키워드 INCLUDE_CURRENT_DIR은 추가적으로 현재워킹디렉토리를 검색하게 해주는 키워드입니다.
이정도만 있어도 함수들을 유용하게 쓰는데는 크게 지장이 없을 거 같습니다. 이번 포스팅은 꽤 짧게 작성이 되었지만, 전에 있던 포스팅만큼 유용할거 같습니다. 다음 포스팅때에도 유용한 정보를 드릴 수 있도록 노력을 다하도록 하겠습니다.