오늘 할 일: 끝내주게 숨쉬기
article thumbnail

파이썬으로 코딩을 할 때 다른 폴더나 파일에 대한 경로 접근이 필요할 때가 있습니다. 본 포스트에서는 파이썬 작업 시에 os.path 모듈을 이용해 파일 경로 및 디렉토리를 다루는 방법에 대해 알아보겠습니다. 

import os

 

 

1. 현재 작업 폴더 확인하기

os.getcwd()

 

 

2. 작업 폴더 변경하기

os.chdir('변경할 디렉토리 경로')

작업 폴더를 변경한 후, 다시 os.getcwd()를 이용해 작업 폴더를 확인해보면 경로가 변경된 것을 확인할 수 있습니다.

 

 

3. 특정 경로에 대해 절대경로 얻기

절대 경로란, 최초 디렉토리를 기준으로 경유한 경로를 모두 기입한 전체 경로를 의미합니다. 

상대 경로는 절대 경로와는 다르게 최초 디렉토리가 아닌 특정 경로를 기준으로 경로를 기입하는 방식입니다. 주로 현재 작업하고 있는 폴더를 기준으로 합니다.

절대 경로와 상대 경로 중 무엇을 사용할지는 나름이지만 주로 상대 경로를 사용한다고 봐도 무방합니다. 파일의 경로가 자주 변경될 수 있고, OS에 따라 최초 디렉토리가 바뀌면 그때마다 경로를 수정하는 것이 매우 번거롭기 때문이죠. 경험상 모델 운영을 위해서도 상대 경로로 작성하는 것이 혼란을 줄일 수 있었습니다. 

os.path.abspath('ratings.txt')

 

 

4. 전체 경로 중 디렉토리명만 얻기

os.path.dirname('C:\\Users\\berry\\study\\ratings.txt')

 

 

5. 전체 경로 중 파일명만 얻기

os.path.basename('C:\\Users\\berry\\study\\ratings.txt')

 

 

6. 경로 중 디렉토리명과 파일명을 나눠 얻기

dirname, filename = os.path.split('C:\\Users\\berry\\study\\ratings.txt')
print(dirname)
print(filename)

 

 

7. 경로를 병합하여 새로운 경로 생성하기

파이썬에서 텍스트를 합칠 때 join을 사용합니다. 경로와 파일명을 합할 때도 마찬가지로 join을 사용하는 것이죠.

os.path.join('C:\\Users\\berry\\study', 'ratings.txt')

 

 

8. 디렉토리 내 파일 및 서브 디렉토리 리스트 프린트 하기

결과는 리스트 객체로 주어집니다. 디렉토리에 어떤 파일들이 존재하는지, 파일들의 이름을 전부 확인하고 싶을 때 사용합니다. 

os.listdir('C:\\Users\\berry\\study')

 

 

9. 파일 혹은 디렉토리 경로가 존재하는지 확인하기

# 디렉토리 유무 확인
os.path.exists('C:\\Users\\berry\\study')
# 파일 유무 확인
os.path.exists('C:\\Users\\berry\\study\\ratings.txt')

 

 

10. 디렉토리 경로가 존재하는지 확인하기

os.path.isdir('C:\\Users\\berry\\study')

 

 

11. 파일 경로가 존재하는지 확인하기

os.path.isfile('C:\\Users\\berry\\study\\ratings.txt')

 

 

이걸 작성하다가 폴더와 디렉토리가 동일한 개념인지 궁금해져서 검색해봤는데, 차이가 있긴 한 것 같숩니다.. 완벽하게 이해는 못했지만ㅎ 여튼 궁금하신 분들은 아래 사이트를 참고하세요.

https://windowsforum.kr/qna/17597742

 

질문과 답변 - 폴더와 디렉토리 차이

프로그램 한글화하려다보면 폴더와 디렉토리 구분이 애매하여 여쭈어봅니다.

windowsforum.kr

 

 

 

참고

http://pythonstudy.xyz/python/article/507-%ED%8C%8C%EC%9D%BC%EA%B3%BC-%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC

 

예제로 배우는 파이썬 프로그래밍 - 파일과 디렉토리

파이썬에서 파일과 디렉토리 경로 다루기 파이썬에서 디렉토리와 파일경로를 다루는 주요 함수들에 대해 알아보자. 디렉토리 및 파일 경로에 대한 함수들은 os 모듈에 있으므로, os 모듈을 import

pythonstudy.xyz

https://wikidocs.net/153154

 

2) 절대 경로와 상대 경로

좌표계에도 절대 좌표와 상대 좌표가 있듯이 경로에도 절대 경로와 상대 경로가 있습니다. ![](https://blog.kakaocdn.net/dn/Q1sOz/btq6zQ6 ...

wikidocs.net