본문 바로가기
  • 실행력이 모든걸 결정한다
유용한 정보, 링크

파일 경로 개념잡기 (절대경로와 상대경로)

by 김코더 김주역 2020. 8. 27.
반응형

프로그래밍을 할 때 외부 파일을 읽어야 하는 상황에 많이 직면하게 된다.

외부 파일을 읽기 위해서는 파일 경로를 입력하면 되는데, 파일 경로를 철자 하나라도 잘못 쓰면 파일을 읽을 수 없다. 처음 접해봤을 때는 까다로울 수 있는데 이해만 하면 쉬우므로 프로그래머라면 무조건 짚고 넘어가야할 개념이다.

이 포스팅에서는 혼동하기 쉬운 파일 경로 개념을 다룰 것이다.

 

이해를 돕기 위해 개념을 설명하기 전에 몇 가지 폴더 정의를 해보겠다.

 

현재 폴더의 상위 폴더를 Parent 폴더, Parent 폴더의 상위 폴더를 Grantparent 폴더라고 하자.

그리고  현재 폴더의 하위 폴더를 Child 폴더, Child 폴더의 하위 폴더를 Grandchild 폴더라고 하자.

즉 상위 부모 순으로 나열하면

Grandparent, Parent, 현재 폴더, Child, Grandchild 순이 된다.

처음에 Grandparent 폴더는 바탕화면에서 생성하였다.

 

 

위 설명대로라면 Grandparent 폴더 안에 Parent 폴더가 있을 것이다.

그 옆에 family1.txt 파일을 만들었다.

즉 Grandparent 폴더 안에는 Parent 폴더, family1.txt 두 요소가 있다.

그 하위폴더를 따라가며 같은 규칙으로 family2~family5 까지 만들었다.





 

세팅은 끝났고 이제 본격적으로 절대주소와 상대주소를 설명할 차례이다.

1. 절대주소 - 어느 디렉토리에 있든 간에 인식되는 주소, 통일 주소

family5.txt 파일의 속성에 들어가보면 위치가

C:\Users\user\Desktop\Grandparent\Parent\현재 폴더\Child\Grandchild 으로 표시 되어있다.

사용자가 어느 디렉토리에서 작업을 하든간에 family5.txt 파일을 불러오고 싶을 때는

C:\Users\user\Desktop\Grandparent\Parent\현재 폴더\Child\Grandchild\family5.txt 라는 경로를 쓰면 된다.

 

2. 상대주소 - 디렉토리의 위치에 따라 달라지는 주소

파일을 불러올 때 사용자가 어느 디렉토리에서 작업을 하느냐에 따라, 경로 양식은 조금 달라진다.

상대 주소는 폴더를 구별할 때 ../ 또는 ./를 쓰게 된다.

../는 상위 폴더로 이동한다는 의미이고, ./는 현재 폴더를 의미한다.

단, ./는 생략해도 동작하는 것 같다.

 

예1)

작업 중인 디렉토리는 '현재 폴더' 안 이고, family1.txt 파일을 불러오고 싶을 때는 파일주소를 ../../family1.txt 로 쓴다.

family1.txt는 현재 폴더의 상위 폴더(Parent) 의 상위 폴더(Grandparent)에 위치해 있기 때문이다.

 

예2)

작업 중인 디렉토리는 '현재 폴더' 안 이고, family5.txt 파일을 불러오고 싶을 때는 파일주소를

./child/Grandchild/family5.txt 로 쓴다. 하위 폴더는 단순히 / 로 구별하면 된다.

./를 생략하고 child/Grandchild/family5.txt 로 써도 동작 한다.

 

예3)

작업 중인 디렉토리는 '현재 폴더' 안 이고, 현재 폴더의 family3.txt를 불러오고 싶을 때는 파일주소를 ./family3.txt로 써도 되고 그냥 family3.txt로만 써도 된다.

반응형

댓글