Python에서 파일 확장자 가져 오기

Rayven Esplanada 2023년1월30일
  1. os.path 모듈을 사용하여 Python 파일에서 확장 추출
  2. pathlib 모듈을 사용하여 Python의 파일에서 확장 추출
Python에서 파일 확장자 가져 오기

이 자습서에서는 Python의 파일 이름에서 파일 확장자를 가져 오는 방법을 소개합니다.

os.path 모듈을 사용하여 Python 파일에서 확장 추출

Python에는 OS 파일 경로를 조작하기 위해 미리 만들어진 유용한 유틸리티 함수가있는 모듈 os.path이 있습니다. 여기에는 파일 경로에서 정보 열기, 저장 및 업데이트 및 가져 오기가 포함됩니다.

이 모듈을 사용하여 Python에서 파일 확장자를 가져옵니다.

os.path에는 주어진 파일 경로의 루트와 확장자를 분할하는splitext()함수가 있습니다. 이 함수는 루트 문자열과 확장 문자열을 포함하는 튜플을 반환합니다.

확장자가docx 인 예제 파일 경로를 제공하겠습니다.

/Users/user/Documents/sampledoc.docx

예상되는 출력은 .docx확장자 여야합니다.

extensionroot라는splitext()의 결과를 포착하기 위해 두 개의 개별 변수를 선언합니다.

import os

path = "/Users/user/Documents/sampledoc.docx"
root, extension = os.path.splitext(path)

print("Root:", root)
print("extension:", extension)

출력:

Root: /Users/user/Documents/sampledoc
Extension: .docx

이제 확장자가 루트 파일 경로에서 성공적으로 반환되었습니다.

pathlib 모듈을 사용하여 Python의 파일에서 확장 추출

pathlib은 파일 경로를 나타내는 클래스를 포함하고 이러한 클래스에 대한 유틸리티 함수 및 상수를 구현하는 Python 모듈입니다.

pathlib.Path()는 경로 문자열을 인수로 받아들이고 새로운Path 객체를 반환합니다.

pathlib.Path 객체에는 파일 확장자 정보를 반환하는suffix 속성이 있습니다.

import pathlib

path = pathlib.Path("/Users/user/Documents/sampledoc.docx")

print("Parent:", path.parent)
print("Filename:", path.name)
print("Extension:", path.suffix)

루트 외에,Path 객체 내에서parentname 속성을 호출하여 지정된 파일 경로의 실제 파일 이름과 상위 파일 경로를 가져올 수도 있습니다.

출력:

Parent: /Users/user/Documents
Filename: sampledoc.docx
Extension: .docx

.tar.gz 또는.tar.bz2와 같은 파일 확장자가 있으면 어떨까요?

pathlib는 확장자로 여러 접미사가있는 파일에 대한 속성도 제공합니다. Path 객체 내의suffixes 속성은 주어진 파일의 모든 접미사를 포함하는 목록입니다. 위의 예를 사용하고suffixes 속성을 출력하면 :

import pathlib

path = pathlib.Path("/Users/user/Documents/sampledoc.docx")

print("Suffix(es):", path.suffixes)

출력:

Suffix(es): ['.docx']

따라서 접미사가 하나만 있더라도 출력 결과는 단일 목록이됩니다.

이제.tar.gz 확장자를 가진 예제를 시도해보십시오. 목록을 단일 문자열로 변환하려면 빈 문자열에join()함수를 사용하고suffixes 속성을 인수로 사용할 수 있습니다.

import pathlib

path = pathlib.Path("/Users/user/Documents/app_sample.tar.gz")

print("Parent:", path.parent)
print("Filename:", path.name)
print("Extension:", "".join(path.suffixes))

출력:

Parent: /Users/user/Documents
Filename: app_sample.tar.gz
Extension: .tar.gz

이제 목록 대신 실제 확장이 표시됩니다.

요약하면, 두 모듈ospathlib는 Python의 파일 경로에서 파일 확장자를 가져 오는 편리한 방법을 제공합니다.

os 모듈에는 파일 확장자에서 루트와 파일 이름을 분리하는splitext 기능이 있습니다. pathlibPath 객체를 만들고suffixes 속성 내에 확장명을 저장합니다.

파일에서 하나 이상의 확장자를 예상하는 경우suffixes 속성을 사용하여 여러 확장자를 쉽게 지원하므로pathlib를 사용하는 것이 가장 좋습니다.

Rayven Esplanada avatar Rayven Esplanada avatar

Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.

LinkedIn

관련 문장 - Python File