디렉토리에 긴 이름들을 가진 파일들이 있다. 필자는 이 파일들을 1.png, 2.png 이런 식으로 바꾸기를 원했고 또한 하나하나 바꾸는 것이 아니라 한 번에 바꾸기를 원했다. 검색을 해봤더니 역시나 하는 방법이 있었다. os의 listdir 함수와 rename 함수를 이용하면 된다.
먼저 한 번에 변경하기 위해 listdir 함수로 파일들을 불러온다. listdir 함수에 디렉토리 경로를 넣어주면 해당 디렉토리에 있는 파일들을 list 형태로 반환한다. 이들을 os의 rename 함수를 이용해 이름을 변경한다.
이렇게 해주면 끝이다. os.rename에는 기존 파일명과 변경하고자 하는 파일명을 입력값으로 넣어주면 된다. before_name과 after_name에서 os.path.join을 사용했는데, 이에 관해서 간단하게 살펴보면,
os.path.join에 디렉토리 경로와 파일명을 넣어주면 디렉토리 경로와 파일명이 join되어 나오게 된다. 이제 반복문을 실행해보자.
반복문을 실행하면, 이렇게 파일명이 숫자로 변경된 것을 확인할 수 있다. 필자는 숫자로만 변경했지만 os.rename을 통해 변경하고자 하는 이름들을 list로 만들어서 반복문을 돌리는 등 다양하게 응용할 수 있다.
참고 사이트
'Python > 그 외' 카테고리의 다른 글
문자열 포함 여부 확인하기(find(), in, not in) (0) | 2021.08.05 |
---|---|
for문으로 동적 변수 생성하기 (0) | 2021.07.23 |
댓글