본문 바로가기
programming language/MATLAB

MATLAB 파일이름 다룰때 유용한 함수들 fileparts, fullfile, filesep

by __observer__ 2012. 7. 1.
반응형

오늘은 MATLAB 을 이용하여 파일 또는 디렉토리 이름을 다룰 때 유용한 몇 가지 함수들에 대해 설명 드리겠습니다.

 

파일 이름을 다루다 보면 파일 이름부분과 확장자 부분으로 구분하고 싶을 때가 있습니다.

 

이런 경우에는 fileparts() 라는 함수를 사용 할 수 있습니다.

 


다음과 같은 형태로 구성되는데요~

 

 

 

[pathstr, name, ext] = fileparts(filename)

 

보시는 바와 같이 path, 파일 이름, 확장자로 구분해 줍니다.

 

사용 예는 다음과 같습니다.

 

위에서는 파일이름을 분리 했으니깐 파일이름을 합치는 방법에 대해 알아보죠.

 

이름을 합치는 경우에는 fullfile () 이라는 함수를 제공해 줘서 path, 파일 이름, 확장자를 편리하게 합칠 수 있습니다.

 

위에서 나누었던 파일 이름을 fullfile () 함수를 이용하여 합쳐 보죠~ 


 

다음으로 filesep 에 대해 설명 드리겠습니다.

 

Unix 나 맥 os 같은 경우에는 파일 구분자가 / 이지만 윈도우의 경우에는 \ 입니다.

 

그래서 같은 파일을 이종의 운영체제에서 이용하는 경우에는 에러가 발생할 여지가 있죠.

 

따라서 script 파일에서 파일 이름을 다룰 때는 filesep 를 이용해서 운영체제에 따라 자동으로 파일 구분자가 지정되도록 하는 것이 좋습니다.

 

위에서 fullfile() 함수를 이용해서 합쳤던 파일 이름을 다음과 같이 filesep 를 이용하여 합치는 예는 다음과 같습니다.

 

다음으로 string 으로 된 path 를 regular expression 을 이용하여 간단하게 각 디렉토리 별로 구분하는 방법에 대해 알아보겠습니다.

  

위 예에서 s 라는 변수에는 각 폴더와 파일 이름이 filesep 를 구분자로 해서 나누어지고 그 결과가 cell 타입으로 저장됩니다.

 

나누어진 디렉토리와 파일 이름을 다시 합치고 싶을 때는 위 예에서 처럼fullfile(s{:}) 하시면 되고요~

 

여기서 s 라는 변수가 cell 타입이기 때문에 각 값에 접근하기 위해서 중괄호를 이용한 것입니다.

 

마지막으로 소개해 드릴 함수는 현재 실행되는 파일의 이름을 나타내 주는 mfilename 함수입니다.

 

간단하게 예를 보시면 이해가 되실 듯 하네요.



 

위의 ABC.m 파일에서 mfilename 함수에 의해 command 창에 다음과 같이 현재 실행중인 파일의 이름이 나오고




fullpath 를 알 고 싶을 때는 위 예에서처럼 mfilename('fullpath') 라고 작성하면 됩니다.


반응형

댓글