-
sys, os.path.join, os.path.dirname, __file__python 2021. 2. 15. 12:32
1. python sys 모듈
sys모듈은 파이썬을 설치할 때 함께 설치되는 라이브러리다.
sys로 파이썬 라이브러리가 설치된 디렉토리 경로를 확인할 수 있다.
1) sys.path
파이썬 라이브러리가 설치되어 있는 디렉토리를 리턴한다.
>>> import sys >>> sys.path ['', '/Users/hi/miniconda3/envs/koodon/lib/python38.zip', '/Users/hi/miniconda3/envs/koodon/lib/python3.8', '/Users/hi/miniconda3/envs/koodon/lib/python3.8/lib-dynload', '/Users/hi/miniconda3/envs/koodon/lib/python3.8/site-packages']
2) sys.path.append(path)
라이브러리 설치 경로를 추가한다.
새로 추가한 경로에서 Import해서 쓸 수 있게 된다.
>>> sys.path.append("/Users/hi/data_structure/") >>> sys.path ['', '/Users/hi/miniconda3/envs/koodon/lib/python38.zip', '/Users/hi/miniconda3/envs/koodon/lib/python3.8', '/Users/hi/miniconda3/envs/koodon/lib/python3.8/lib-dynload', '/Users/hi/miniconda3/envs/koodon/lib/python3.8/site-packages', '/Users/hi/data_structure/']
위 코드를 보면 마지막에 /Users/hi/data_structure/가 추가된 것을 볼 수 있다.
만약 data_structure에 어떤 a라는 모듈이 있다면 이제, import a 라는 명령어로 이를 불러다 쓸 수 있다.
2. python os 모듈
os: 파이썬에 디렉토리와 파일 경로에 관한 작업을 할 땐 os모듈 사용한다.
1) os.getcwd() / os.chdir
- os.getcwd(): 현재 작업 디렉토리 위치 리턴
-os.chdir("path"): path로 디렉토리 변경
>>> import os >>> os.getcwd() '/Users/hi/my_project' >>> os.chdir('/Users') >>> os.getcwd() '/Users'
2) os.path.abspath(path)
특정 경로의 절대 경로 리턴
예시: data_structure 디렉토리의 절대경로 파악하기
>>> import os >>> os.path.abspath("data_structure") '/Users/hi/my_project/data_structure'
3) os.path.basename(path)
path에서 파일 이름만 리턴
>>> import os >>> os.path.basename("data_structure") 'data_structure'
4) os.path.split(path)
'디렉토리 명'과 '파일 명'을 튜플 형태로 리턴
예시: data_structure 폴더 안에 test.py라는 파일이 있는 상태.
>>> import os >>> os.path.split("data_structure/test.py") ('data_structure', 'test.py')
5) os.path.sep
경로 하나 하나를 split해서 list로 리턴
예시: 현재 my_project라는 디렉토리에 머물고 있음.
>>> import os >>> os.getcwd() '/Users/hi/my_project' >>> os.getcwd().split(os.path.sep) ['', 'Users', 'hi', 'my_project']
6) os.path.join(path1, path2, path3, ....)
경로들을 서로 합쳐 새로운 경로를 만든다.
>>> import os >>> os.path.join(os.getcwd(), "new_path1", "new_path2", "new_path3") '/Users/hi/my_project/new_path1/new_path2/new_path3'
7) os.listdir(path)
path의 하위 파일, 디렉토리 들을 list 형태로 리턴한다.
예시: data_structure 디렉토리 안에는 test.py파일과 algorithm폴더가 존재함.
>>> import os >>> os.listdir("data_structure") ['test.py', 'algorithm']
8). os.path.exists(path) / os.path.isdir(path) / os.path.isfile(path)
os.path.exists는 file or dir이 실제 존재 하는지 boolean값을 리턴한다.
isdir은 디렉토리만, isfile은 파일만 검사해서 boolean을 리턴한다.
예시: 내 컴퓨터에 hi라는 폴더 또는 디렉토리는 존재하지 않는다.
>>> import os >>> os.path.exists("hi") False
9) os.path.getsize(path)
파일의 크기를 리턴한다.
>>> import os >>> os.path.getsize("data_structure") 128
3. __file__
__file__은 현재 파일의 path를 리턴한다.
참고한 자료:
itmining.tistory.com/122'python' 카테고리의 다른 글
파이썬 심화: 변수와 메모리 (0) 2022.02.12 파이썬 클린코드 2 (0) 2022.02.12 파이썬 클린코드 1 (0) 2022.02.12 엄청 쉬운 python 파일 쓰기, 파일 읽기, 사진 다운받기 (0) 2021.04.06 python sorted key (0) 2021.02.27