Python의 경로에서 파일 이름을 얻는 방법

Syed Moiz Haider 2023년10월10일
  1. ntpath 라이브러리를 사용하여 경로에서 파일 이름 가져 오기
  2. ntpath.basename()을 사용하여 경로에서 파일 이름 가져 오기
  3. Python은os.path.basename()을 사용하여 경로에서 파일 이름을 가져옵니다
  4. Python은os.path.split()을 사용하여 경로에서 파일 이름을 가져옵니다
Python의 경로에서 파일 이름을 얻는 방법

이 자습서에서는 Python의 경로에서 파일 이름을 가져 오는 방법을 소개합니다. 또한 특정 운영 체제와 관련된 개념을 더 자세히 설명하기 위해 몇 가지 예제 코드를 나열합니다.

ntpath 라이브러리를 사용하여 경로에서 파일 이름 가져 오기

경로를 정의하는 방법은 다를 수 있습니다. Windows의 파일 경로는 백 슬래시 또는 슬래시를 경로 구분자로 사용할 수 있습니다. 따라서ntpath 모듈은 모든 플랫폼의 모든 경로에서 작동합니다.

ntpath 라이브러리는basename 함수를 지원합니다. 이 함수는path로 전달되고 실행 후ntpath.basename(path)는 주어진path에서 파일 이름을 반환합니다. 이 방법을 사용하는 기본 예는 다음과 같습니다.

import ntpath

print(ntpath.basename("usr/temp/new/sample"))

출력:

sample

ntpath.basename()을 사용하여 경로에서 파일 이름 가져 오기

이 라이브러리는 Linux에서도 작동합니다. 그러나 Linux에서는 파일 이름에 백 슬래시가 포함될 수 있습니다. 따라서 Linux에서r'usr/xyz\python'은 항상usr 폴더의xyz\python 파일을 참조합니다.

import ntpath

print(ntpath.basename("r'usr/xyz\python'"))

출력:

xyz\python

Windows에서usr 폴더의xyz 하위 폴더에있는python 파일명을 의미합니다. 경로에서 백 슬래시와 슬래시를 모두 사용할 때 사용중인 플랫폼을 알아야합니다. 그렇지 않으면 경로를 올바르게 해석하지 못할 수 있습니다.

os.path.basename()을 사용하는 경로에서 파일 이름을 가져 오는 또 다른 방법이 있습니다.

Python은os.path.basename()을 사용하여 경로에서 파일 이름을 가져옵니다

os.path 라이브러리에서 제공하는 함수를 사용하여 경로에서 파일 이름을 가져올 수도 있습니다. 함수는 파일 이름을 가져 오는 데 사용되는basename입니다.

basename은 매개 변수로path를 취하고filename을 반환합니다.

다음은 코드 예제입니다.

import os

print(os.path.basename("usr/temp/eng"))

출력:

eng

시스템이 POSIX이고 이중 슬래시가 포함 된 Windows 스타일 경로가os.path.basename()에 전달되면 출력은 제공된 전체 경로가됩니다.

# in Linux
import os

print(os.path.basename("E:\\aws\\temp.jpg"))

출력:

E:\\aws\\temp.jpg

Python은os.path.split()을 사용하여 경로에서 파일 이름을 가져옵니다

headtail이 개별적으로 필요한 경우os.path.split()메서드를 사용할 수 있습니다. 이 메소드는 path를 인수로 사용하고 경로의 headtail을 반환합니다.

예제 코드는 다음과 같습니다.

import os

head, tail = os.path.split("/Users/xyz/Downloads")
print(head)
print(tail)

출력:

/Users/xyz
Downloads
Syed Moiz Haider avatar Syed Moiz Haider avatar

Syed Moiz is an experienced and versatile technical content creator. He is a computer scientist by profession. Having a sound grip on technical areas of programming languages, he is actively contributing to solving programming problems and training fledglings.

LinkedIn

관련 문장 - Python Path