파일 확장자를 Python 코드를 통해서 바꾸는 방법
pathlib.Path().stem
이용os.path.splitext
이용split
이용
Python
__file__
은 수행중인 파일의 상대경로를 출력해주는 기본 설정 전역변수입니다.- 추가내용은 python_file 게시글을 참고해주세요
현재 파일의 기본경로는 test
폴더의 test.py
파일입니다. (test/test.py
)
os.path.basename(__file__)
# 출력값
# >>> test.py
basename
은 해당 파일의 이름을 출력해줍니다.제가 제일 선호하는 방법으로 pathlib
의 Path
모듈을 이용하는 방법입니다.
Pathlib.Path().stem
을 이용하면, 확장자명을 제외한 파일명이 출력됩니다.- 그 후, 원하는 확장자명을
+
로 붙이면 됩니다.- 저는 '
test.py
'를 'test.log
'로 log파일을 만들어 보겠습니다.
import os
from pathlib import Path
print(os.path.basename(__file__))
# 출력값
# >>> test
print(Path(os.path.basename(__file__)).stem)
# 출력값
# >>> test
print(Path(os.path.basename(__file__)).stem + '.log')
# 출력값
# >>> test.log
다음은 os
모듈의 os.path.splitext()
를 이용하는 방법입니다.
os.path.splitext()
을 이용하면, 파일명과 확장자가 나뉘어 리스트로 출력됩니다.- 그 후, 첫번째 인자만 가져오고, 원하는 확장자명을
+
로 붙이면 됩니다.- 저는 '
test.py
'를 'test.log
'로 log파일을 만들어 보겠습니다.
import os
print(os.path.basename(__file__))
# 출력값
# >>> test
print(os.path.splitext(os.path.basename(__file__)))
# 출력값
# >>> ['test', '.py']
print(os.path.splitext(os.path.basename(__file__))[0]+'.log')
# 출력값
# >>> test.log
다음은 python
기본 함수로 split()
을 이용하는 방법입니다.
split()
을 이용하면, 원하는 문자를 기준으로 분리해주는 함수입니다.split('.')
을 통해서'.'
을 기준으로 분리하면 됩니다.- 주의할 점은, 해당 파일명에 이미
.
이 포함되어 있는 경우, 오류가 날 가능성이 높아 추천드리는 방법은 아닙니다.
- ex)
test_22.01.01.py
의 경우,.
으로 분리되는 부분이 많아 오류 발생- 첫번째 인자만 가져오고, 원하는 확장자명을
+
로 붙이면 됩니다.- 저는
test.py
를test.log
로 log파일을 만들어 보겠습니다.
import os
print(os.path.basename(__file__))
# 출력값
# >>> test
print(os.path.basename(__file__).split('.'))
# 출력값
# >>> ['test', 'py']
print(os.path.basename(__file__).split('.')[0]+'.log')
# 출력값
# >>> test.log
감사합니다.