728x90
파일 시스템 내에서 특정 파일(혹은 디렉토리)의 위치를 나타내는 양식
Absolute Path (절대 경로)
- 현 작업디렉토리(cwd)와 관계없이 절대적 위치
드라이브:\폴더\폴더\파일명
(Windows)c:\Windows\System32\drivers\etc\hosts
- 드라이브 "c:" 와 같이 colon ":"이 붙음
- 폴더(or directory라고도 부름) 와 파일명, 드라이브 등의 사이에 "구분자(spearator)" 로 backslash "\"가 들어감.
- backslash는 프로그래밍 언어의 문자열에서 escape sequence의 시작을 알리는 문자로도 사용됨:
- 때문에 프로그래밍 언어로 작성된 소스 코드의 문자열 내에서는 두 번 반복하여 기재해야 backslash로 인식됨: "\\".
/디렉토리/디렉토리/파일명
(Linux, macOS)/home/dsaint31/.bachrc (linux)
- 리눅스 등에서는 폴더 보다 directory라는 용어가 보다 많이 사용됨.
- 맨 앞의 slash는 "/" 를 가리켜 root라고 함. 즉, "/"만 하나 있을 경우 root 디렉토리에 위치한다고 애기한다.
- "구분자(separator)"로 slash "/" 를 사용함: 참고로 Python의 경우에는 경로의 구분자로 "/"로 지정하면 Windows에서도 정상 동작함.
Relative Path (상대 경로)
- 현 작업디렉토리를 기준으로 상대적 위치를 가르킴.
- "." : period (or dot, 점) 은 현재 위치하고 있는 디렉토리를 가르킴.
- 현재 "c:\Users\dsasint31" 에 있다면 이를 절대경로로 다 쓰지않고 "." 으로 써도 똑같은 의미임.
- ".." : period가 두 번 연달아 기재된 경우는 현재 위치에서 한 단계 상위 디렉토리를 가르킴.
- 현재 "c:\Users\dsasint31" 에 있다면 ".."는 "c:\Users" 디렉토리를 의미함.
- "." : period (or dot, 점) 은 현재 위치하고 있는 디렉토리를 가르킴.
..\drivers\etc\hosts
- Linux에서의 relative path임 (Windows의 경우 backslash를 구분자로 사용해야함)
- 현재 위치의 상위 디렉토리 "drivers" (현재위치와 같은 level에 위치)의 sub-directory(하위 디렉토리) 인 "etc"밑에 있는 "host"를 가리킴.
Python의 path 관련 참고사항
python인터프리터에서 실행되는 python 소스 파일의 absolute path를 확인하는 코드
import os
print(__file__)
print(os.path.abspath(__file__))
- 중간에 shortcut(바로가기) 등이 있는 경우, 실제 위치를 보고 싶을 때는
os.path.realpath(__file__)
를 사용. - 실행되고 있는
.py
소스파일이 있는 폴더 경로만을 확인하기 위해서는 다음을 이용. print(os.path.dirname(os.path.realpath(__file__)) )
현재 python이 수행되고 있는 working directory를 확인하는 코드는 다음과 같음.
import os
print(os.getcwd())
working directory를 변경하는 코드는 다음과 같음.
import os
print(f"before: {os.getcwd()}")
os.chdir("/home/dsaint31/") # Linux, macOS 경로임. Window의 경우엔 드라이브로 시작.
print(f"after: {os.getcwd()}")
같이 보면 좋은 자료들
https://dsaint31.me/mkdocs_site/OS/folderNdirectory/
https://dsaint31.me/mkdocs_site/OS/file/
반응형
'Computer > ETC' 카테고리의 다른 글
특수문자 입력 (Windows) (0) | 2021.10.26 |
---|---|
Utils : Windows (0) | 2021.10.26 |
Folder and Directory (0) | 2021.10.17 |
File 및 관련 필수 명령어(Windows) (0) | 2021.10.17 |
Pathogen 사용하기 : iVim (0) | 2021.09.20 |