Python os(abspath, basename, dirname, normpath)

LshDevLog·2026년 4월 16일

python

목록 보기
10/16
post-thumbnail

os에서 빼먹은 경로관련 몇 가지 함수 정리

abspath

import os

p = os.path.abspath('.')
print(p)
C:\Users\MSI\OneDrive\바탕 화면\PythonStudy
  • 상대 경로를 절대 경로로 변환
  • 내부 동작
    • 현재 작업 디렉토리 가져옴(getcwd)
    • 입력 경로와 합침
    • 경로 정리(., .. 제거)

import os

p = os.path.abspath('no_exist.txt')
print(p)
C:\Users\MSI\OneDrive\바탕 화면\PythonStudy\no_exist.txt
  • 파일 존재 여부와 상관없이 절대경로를 무조건 리턴


basename

import os

path = os.path.abspath('main.py')
print(path)
print(os.path.basename(path))
C:\Users\MSI\OneDrive\바탕 화면\PythonStudy\main.py
main.py
  • 경로의 마지막 경로 요소만 리턴
  • 이 경로의 대상을 찾기
  • Pathlib.Path.name과 같음

import os

path = './data/'
print(os.path.basename(path))
 

끝이 /면 빈 문자열 리턴



dirname

import os

path = os.path.abspath('main.py')
print(os.path.dirname(path))
C:\Users\MSI\OneDrive\바탕 화면\PythonStudy
  • 부모 디렉토리 경로 리턴
  • 대상의 경로를 찾기
  • Pathlib.Path.parent와 같음


normpath

import os

path = "./a//b/../c"
print(os.path.normpath(path))
a\c
  • / . .. 등 경로를 깔끔하게 정리해줌(정규화)
  • 실제 파일 존재 여부와 상관없이 문자열 경로만 정리함

0개의 댓글