[python] Python에서 확장자없이 파일 이름 가져 오기

다음 중 하나와 같은 파일 이름이있는 경우 :

1.1.1.1.1.jpg

1.1.jpg

1.jpg

확장자없이 파일 이름 만 가져올 수있는 방법은 무엇입니까? 정규식이 적절할까요?



답변

대부분의 경우 정규식을 사용하면 안됩니다.

os.path.splitext(filename)[0]

이것은 또한 .bashrc전체 이름을 유지하여 올바르게 파일 이름을 처리합니다 .


답변

>>> import os
>>> os.path.splitext("1.1.1.1.1.jpg")
('1.1.1.1.1', '.jpg')


답변

정규식으로이 작업을 수행해야한다면 다음과 같이 할 것입니다.

s = re.sub(r'\.jpg$', '', s)


답변

stem 메서드를 사용 하여 파일 이름을 가져올 수 있습니다 .

예를 들면 다음과 같습니다.

from pathlib import Path

p = Path(r"\\some_directory\subdirectory\my_file.txt")
print(p.stem)
# my_file


답변

정규식이 필요하지 않습니다. os.path.splitext당신의 친구입니다:

os.path.splitext('1.1.1.jpg')
>>> ('1.1.1', '.jpg')


답변