이 기사에서는 Python 프로그래밍 언어로 지정된 파일 경로에서 파일 이름을 가져오는 프로그램을 살펴보겠습니다. 때로는 자동화 중에 파일 경로에서 추출된 파일 이름이 필요할 수 있습니다.
다음에 대한 지식을 갖는 것이 좋습니다.
- Python OS 모듈
- Python 경로 모듈
- 정규식
- rsplit() 내장
방법 1: Python OS 모듈
예 1: 확장자 분할()이 없는 경로에서 파일 이름을 가져옵니다.
파이썬의 나뉘다() 함수는 정의된 구분 기호를 사용하여 주어진 텍스트를 문자열 목록으로 나누고 제공된 구분 기호로 구분된 문자열 목록을 반환합니다.
파이썬3
import> os> path>=> 'D:homeRiot GamesVALORANTliveVALORANT.exe'> print>(os.path.basename(path).split(>'/'>)[>->1>])> |
>
>
산출:
VALORANT.exe>
예시 2: os.path.basename을 사용하여 파일 경로에서 파일 이름 가져오기
주어진 경로의 기본 이름은 내장 Python 함수 os.path.basename()을 사용하여 얻을 수 있습니다. path.basename() 함수는 경로 인수를 받아들이고 경로 이름 경로의 기본 이름을 반환합니다.
파이썬3
import> os> file_path>=> 'C:/Users/test.txt'> # file path> # using basename function from os> # module to print file name> file_name>=> os.path.basename(file_path)> print>(file_name)> |
>
>
산출:
test.txt>
예제 3: os를 사용하여 파일 경로에서 파일 이름을 가져옵니다. 분할
이 방법은 확장자가 있는 파일로 끝나지만 확장자 없이 파일 이름만 필요하거나 확장자만 필요한 경우에는 어떻게 될까요? 여기 분할 os 모듈의 함수가 그림에 나타납니다. 이 메소드는 파일 이름과 텍스트가 포함된 문자열 튜플을 반환하며 인덱싱을 통해 해당 항목에 액세스할 수 있습니다.
예:
파이썬3
자바 필터 스트림
import> os> file_path>=> 'C:/Users/test.txt'> file_name>=> os.path.basename(file_path)> file> => os.path.splitext(file_name)> print>(>file>)># returns tuple of string> print>(>file>[>0>]>+> file>[>1>])> |
>
>
산출:
('test', '.txt') test.txt> 방법 2: 다음을 사용하여 파일 경로에서 파일 이름을 가져옵니다. Pathlib
Python Pathlib 패키지는 많은 운영 체제에 적합한 의미 체계로 파일 시스템 경로를 설명하는 여러 클래스를 제공합니다. Python용 표준 유틸리티 모듈에는 이 모듈이 포함되어 있습니다. 하지만 줄기 이름 속성을 사용할 수 있는 파일의 확장자를 원하는 경우 확장자 없이 링크에서 파일 이름을 추출할 수 있는 유틸리티 속성 중 하나입니다.
예:
파이썬3
from> pathlib>import> Path> file_path>=> 'C:/Users/test.txt'> # stem attribute extracts the file> # name> print>(Path(file_path).stem)> # name attribute returns full name> # of the file> print>(Path(file_path).name)> |
>
>
산출:
test test.txt>
방법 3: 다음을 사용하여 파일 경로에서 파일 이름을 가져옵니다. 정규식
정규식을 사용하여 파일 이름을 특정 패턴과 일치시킬 수 있습니다.
Pattern - [w]+?(?=.)>
이 패턴은 3가지 패턴으로 나누어져 있습니다
- [w]는 세트 내부의 단어와 일치합니다.
- +? 이전에 한 번만 존재하는 경우 문자열과 일치합니다. ? 예어
- (?=)는 개행 문자가 없는 모든 문자와 일치하며 반드시 에서 멈춰야 합니다.

예:
파이썬3
import> re> file_path>=> 'C:/Users/test.txt'> pattern>=> '[w-]+?(?=.)'> # searching the pattern> a>=> re.search(pattern, file_path)> # printing the match> print>(a.group())> |
>
>
산출:
test>
방법 4: 내장 Python 함수 Split()을 사용하여 파일 경로를 개별 구성 요소 목록으로 분할한 다음 rsplit() 메서드를 사용합니다.
내장된 Python 함수 Split()을 사용하여 파일 경로를 개별 구성 요소 목록으로 분할한 다음 rsplit() 메서드를 사용하여 마지막 구성 요소(파일 이름 및 확장자여야 함)를 목록으로 분할할 수 있습니다. 파일 이름과 확장자를 포함합니다. 그런 다음 인덱싱을 사용하여 이 목록에서 파일 이름을 추출할 수 있습니다.
다음은 이를 수행하는 방법의 예입니다.
파이썬3
def> get_file_name(file_path):> >file_path_components>=> file_path.split(>'/'>)> >file_name_and_extension>=> file_path_components[>->1>].rsplit(>'.'>,>1>)> >return> file_name_and_extension[>0>]> # Example usage> file_path>=> 'C:/Users/test.txt'> result>=> get_file_name(file_path)> print>(result)># Output: 'test'> |
>
>
자바 널 체크
출력: 테스트
이 접근 방식은 먼저 Split() 함수를 사용하여 파일 경로를 '/' 문자로 구분된 개별 구성 요소 목록으로 분할합니다. 그런 다음 rsplit() 메서드를 사용하여 '.' 문자를 구분 기호로 사용하여 마지막 구성 요소(파일 이름과 확장자여야 함)를 파일 이름과 확장자를 포함하는 목록으로 분할합니다. 그런 다음 인덱싱을 사용하여 이 목록에서 파일 이름을 추출합니다. 이 접근 방식은 파일 경로가 Split() 및 rsplit() 메서드를 사용하여 구문 분석할 수 있는 형식인 한 모든 파일 경로 및 확장자에 대해 작동합니다.