반응형
Python에서 파일 확장자 변경
index.py
CGI에서 파일 foo.fasta
을 표시 할 포스트 파일이 있다고 가정 합니다. foo.fasta
의 파일 확장자를 foo.aln
표시 파일 로 변경하고 싶습니다 . 내가 어떻게 해?
os.path.splitext()
, os.rename()
예를 들면 :
# renamee is the file getting renamed, pre is the part of file name before extension and ext is current extension
pre, ext = os.path.splitext(renamee)
os.rename(renamee, pre + new_extension)
import os
thisFile = "mysequence.fasta"
base = os.path.splitext(thisFile)[0]
os.rename(thisFile, base + ".aln")
thisFile = 변경중인 파일의 절대 경로
pathlib.Path를 사용하는 우아한 방법 :
from pathlib import Path
p = Path('mysequence.fasta')
p.rename(p.with_suffix('.aln'))
Python 3.4부터 pathlib 내장 라이브러리가 있습니다. 따라서 코드는 다음과 같을 수 있습니다.
from pathlib import Path
filename = "mysequence.fasta"
new_filename = Path(filename).stem + ".aln"
https://docs.python.org/3.4/library/pathlib.html#pathlib.PurePath.stem
나는 pathlib를 좋아한다 :)
이것을 사용하십시오 :
os.path.splitext("name.fasta")[0]+".aln"
위의 작동 방식은 다음과 같습니다.
splitext 메서드는 튜플을 만드는 확장에서 이름을 분리합니다.
os.path.splitext("name.fasta")
생성 된 튜플은 이제 "name"및 "fasta"문자열을 포함합니다. 그런 다음 튜플의 첫 번째 요소 인 "name"문자열에만 액세스하면됩니다.
os.path.splitext("name.fasta")[0]
그런 다음 해당 이름에 새 확장을 추가하려고합니다.
os.path.splitext("name.fasta")[0]+".aln"
pathlib 사용 및 전체 경로 유지 :
from pathlib import Path
p = Path('/User/my/path')
new_p = Path(p.parent.as_posix() + '/' + p.stem + '.aln')
참조 URL : https://stackoverflow.com/questions/2900035/changing-file-extension-in-python
반응형
'programing' 카테고리의 다른 글
문자열 인코딩 및 디코딩? (0) | 2021.01.16 |
---|---|
Mac에 MIT Scheme을 설치하는 방법은 무엇입니까? (0) | 2021.01.16 |
파일이 'eof'에 있는지 확인하는 방법은 무엇입니까? (0) | 2021.01.16 |
Java에서 JSON 객체가 비어 있는지 테스트하는 방법 (0) | 2021.01.16 |
STATICFILES_DIR, STATIC_ROOT 및 MEDIA_ROOT의 차이점 (0) | 2021.01.16 |