파일 이름에서 중간 부분만 떼어내고 싶습니다


발생하는 문제 및 실행환경

"보고서_최종_1.***", "보고서_최종_2.***" 같은 파일이 엄청 많아서 이걸 전부 "보고서1.***"이렇게 바꾸려고 합니다.

os.path.split을 썼는데 생각처럼 잘 안되네요 ㅜ

  • 2016년 01월 27일에 작성됨

조회수 205


1 답변


좋아요
0
싫어요
채택취소하기

"보고서_최종_1.***"의 확장자 ***이 3자라고 가정하면,

  1. 이름이 보고서_로 시작하는 파일만 추려냄 - str.startswith
  2. 이름 시작이 "보고서", 끝이 "n.***"이므로 바꿀 이름은 "보고서"+filename[-5:]
  3. os.rename()을 써서 이름을 2로 바꿔줌

소스코드

import os
for filename in os.listdir("."): #현재 디렉토리의 모든 파일을 iterate
    if filename.startswith("보고서_"):
        os.rename(filename, "보고서"+filename[-5:])
  • 2016년 01월 27일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close