Python 경로에서 확장자없이 파일 이름 가져 오기

Muhammad Waiz Khan 2023년10월10일
  1. Python에서pathlib.path().stem 메서드를 사용하여 경로에서 확장자없이 파일 이름 가져 오기
  2. Python에서os.path.splitext()string.split()메서드를 사용하여 경로에서 확장자없이 파일 이름 가져 오기
  3. Python에서os.path.basename()os.path.splitext()메서드를 사용하여 경로에서 파일 이름 가져 오기
Python 경로에서 확장자없이 파일 이름 가져 오기

이 튜토리얼은 Python의 파일 경로에서 확장자없이 파일 이름을 가져 오는 다양한 방법을 보여줍니다. 목표가 ‘Desktop/folder/myfile.txt’경로에서와 같이 문자열 형식으로 사용 가능한 파일 경로 목록에서 파일 이름을 가져 오는 것이라고 가정하면 .txt없이 파일 이름 myfile만 가져옵니다.

Python에서pathlib.path().stem 메서드를 사용하여 경로에서 확장자없이 파일 이름 가져 오기

path().stem 메소드는 파일 경로를 입력으로 받아 파일 경로에서 파일 이름을 추출하여 반환합니다. 예를 들어Desktop/folder/myfile.txt 경로에서.txt 확장자없이myfile을 반환합니다.

아래 코드 예제는path().stem을 사용하여 파일 경로에서 파일 확장자없이 파일 이름을 가져 오는 방법을 보여줍니다.

from pathlib import Path

file_path = "Desktop/folder/myfile.txt"
file_name = Path(file_path).stem
print(file_name)

출력:

myfile

Python에서os.path.splitext()string.split()메서드를 사용하여 경로에서 확장자없이 파일 이름 가져 오기

os 모듈의path.splitext()메소드는 파일 경로를 문자열 입력으로 취하고 파일 경로와 파일 확장자를 출력으로 반환합니다.

파일 경로에서 파일 이름을 얻으려면 먼저os.path.splitext()메서드를 사용하여 파일 경로에서 파일 확장자를 제거 할 수 있습니다. 분할 결과의 첫 번째 요소는 확장자가없는 파일 경로입니다. 이 결과는 구분 기호로/를 사용하여 더 분할됩니다. 마지막 요소는 확장자가없는 파일 이름입니다. 아래 코드 예제는path.splitext()string.split()메소드를 사용하여 파일 경로에서 확장자없이 파일 이름을 가져 오는 방법을 보여줍니다.

import os

file_path = "Desktop/folder/myfile.txt"

file_path = os.path.splitext(file_path)[0]
file_name = file_path.split("/")[-1]
print(file_name)

출력:

test

Python에서os.path.basename()os.path.splitext()메서드를 사용하여 경로에서 파일 이름 가져 오기

파이썬에서os 모듈의path.basename()메소드는 파일 경로를 입력으로 받아 파일 경로에서 추출한 basename을 반환합니다. 예를 들어Desktop/folder/myfile.txt의 기본 이름은myfile.txt입니다.

파일 경로에서 파일 이름을 얻으려면path.basename()메서드를 사용하여 basename을 추출하고path.splitext()를 사용하여 파일 이름을 추출 할 수 있습니다. 아래 코드 예제는path.basename()path.splitext()메서드를 사용하여 파일 경로에서 파일 이름을 가져 오는 방법을 보여줍니다.

import os

file_path = "Desktop/folder/myfile.txt"

basename = os.path.basename(file_path)
file_name = os.path.splitext(basename)[0]
print(file_name)

출력:

myfile
경고
파일 이름이 myfile.tar.gz와 같은 경우 위에서 설명한 모든 메서드는 파일 이름으로 myfile.tar를 반환합니다.

Desktop/folder/myfile.tar.gz 경로에서myfile.tar 대신. 뒤에 부분없이 파일 이름을 가져와야한다고 가정하면string.index()메소드는 다음과 같습니다. ‘myfile.tar’에서 myfile만 추출하는 데 사용됩니다. 그러나이 방법의 단점은.my.file.tar.gz와 같은 파일 이름의 일부인 경우 파일 이름으로my를 반환한다는 것입니다.

아래 코드 예제는 위에서 설명한 메소드의 출력myfile.tar에서.tar를 제거하기 위해string.index()를 사용하는 방법입니다.

file_name = "myfile.tar"
index = file_name.index(".")
file_name = file_name[:index]
print(file_name)

file_name = "my.file.tar"
index = file_name.index(".")
file_name = file_name[:index]
print(file_name)

출력:

myfile
my

관련 문장 - Python File