반응형
안녕하세요. BlockDMask 입니다.
오늘은 파이썬에서 파일 경로를 다룰 때 사용하는 두 가지 주요 모듈, os
와 pathlib
에 대해 알아보겠습니다.
파일을 다룰 때 경로를 조작하는 일은 자주 발생합니다. 예를 들어, 특정 폴더 내의 파일을 검색하거나, 경로를 조합하는 등의 작업이 필요할 수 있습니다.
이때 os
모듈과 pathlib
모듈을 어떻게 활용하면 좋을지 비교해보겠습니다.
1. os
모듈을 사용한 파일 경로 처리
os
모듈은 전통적으로 파일 및 디렉토리 작업을 처리하는 데 사용됩니다.
특히 os.path
하위 모듈을 활용하면 경로를 조작할 수 있습니다.
경로 합치기 (os.path.join
)
import os
folder = "C:\\Users\\BlockDMask"
file_name = "example.txt"
full_path = os.path.join(folder, file_name)
print(full_path) # C:\Users\BlockDMask\example.txt
os.path.join()
을 사용하면 운영체제에 맞는 올바른 경로 구분자를 적용할 수 있습니다.
절대 경로 vs 상대 경로 (os.path.abspath
)
relative_path = "data/sample.txt"
absolute_path = os.path.abspath(relative_path)
print(absolute_path) # 절대 경로로 변환된 값 출력
os.path.abspath()
를 사용하면 상대 경로를 절대 경로로 변환할 수 있습니다.
파일 존재 여부 확인 (os.path.exists
)
file_path = "data/sample.txt"
if os.path.exists(file_path):
print("파일이 존재합니다.")
else:
print("파일이 존재하지 않습니다.")
os.path.exists()
를 사용하면 해당 경로의 파일 또는 폴더가 존재하는지 확인할 수 있습니다.
2. pathlib
모듈을 사용한 파일 경로 처리
pathlib
모듈은 파이썬 3.4부터 도입된 파일 시스템 경로를 객체 지향적으로 다룰 수 있는 모듈입니다.
보다 직관적이고 가독성이 좋은 방식으로 파일 및 폴더 작업을 수행할 수 있습니다.
경로 합치기 (Path
객체 활용)
from pathlib import Path
folder = Path("C:/Users/BlockDMask")
file_name = "example.txt"
full_path = folder / file_name
print(full_path) # C:/Users/BlockDMask/example.txt
Path
객체를 사용하면/
연산자로 간편하게 경로를 조합할 수 있습니다.
절대 경로 변환 (Path.resolve
)
relative_path = Path("data/sample.txt")
absolute_path = relative_path.resolve()
print(absolute_path) # 절대 경로로 변환된 값 출력
Path.resolve()
를 사용하면 현재 경로 기준의 절대 경로를 얻을 수 있습니다.
파일 존재 여부 확인 (Path.exists
)
file_path = Path("data/sample.txt")
if file_path.exists():
print("파일이 존재합니다.")
else:
print("파일이 존재하지 않습니다.")
exists()
메서드를 사용하여 경로가 실제로 존재하는지 확인할 수 있습니다.
3. os.path
vs pathlib
비교
기능 | os.path |
pathlib |
---|---|---|
경로 합치기 | os.path.join(a, b) |
Path(a) / b |
절대 경로 변환 | os.path.abspath(path) |
Path(path).resolve() |
파일 존재 확인 | os.path.exists(path) |
Path(path).exists() |
디렉토리 생성 | os.makedirs(path, exist_ok=True) |
Path(path).mkdir(parents=True, exist_ok=True) |
4. 언제 os.path
와 pathlib
을 사용할까?
✅ os.path
사용 추천 상황
- 기존 코드에서
os
기반의 파일 처리 방식을 유지해야 할 때 - 여러 운영체제에서의 호환성을 고려할 때
✅ pathlib
사용 추천 상황
- 더 직관적이고 객체 지향적인 방식으로 코드를 작성하고 싶을 때
- 파이썬 3.4 이상 버전을 사용할 때 (가독성과 유지보수성이 향상됨)
5. 결론
✅ os.path
는 전통적인 방식으로 파일 경로를 다루며, 기존 코드와의 호환성이 높습니다.
✅ pathlib
은 더 직관적이고 객체 지향적인 방식으로 파일 경로를 다룰 수 있습니다.
✅ 최신 파이썬에서는 pathlib
을 사용하는 것이 가독성과 유지보수 측면에서 더 유리합니다.
이제 여러분도 os
와 pathlib
을 적절히 활용하여 효율적인 파일 경로 관리 코드를 작성해 보세요! 😊
이상, 파이썬에서 파일 경로 다루기 (os
vs pathlib
)에 대해서 적어보았습니다.
오늘도 읽어주셔서 감사합니다!
반응형
'<개인공부> > [Python]' 카테고리의 다른 글
[Python] 파이썬에서 날짜 다루기 (datetime 기본부터 실전까지) (0) | 2025.03.31 |
---|---|
[Python] 파이썬 리스트 컴프리헨션 vs for문 (0) | 2025.03.29 |
[Python] 파이썬 *args와 **kwargs 알아보기 (0) | 2025.03.27 |
[Python] 파이썬 zip() 함수 활용법 (0) | 2025.03.23 |
[Python] 파이썬 딕셔너리에서 get() vs [] 차이점 (0) | 2025.03.19 |
[Python] 파이썬 with open() 을 써야하는 이유 (0) | 2025.03.08 |
[Python] 파이썬 enumerate() 함수로 인덱스와 값 동시에 가져오기 (0) | 2025.02.17 |
[python] 파이썬 리스트를 문자열로 변환 하는 방법 (2) | 2022.05.07 |