(또 다른) 간단한 Python 파일 이름 바꾸기 스크립트
소개
이것은 사용자가 이름을 바꿀 파일 유형을 지정하고 명명 규칙을 선택할 수 있도록 하는 파일 이름 바꾸기 스크립트에 대한 연습입니다.
스크립트
import pathlib
# set the directory containing the files to be renamed
path = pathlib.Path("/home/joe/Pictures/examplePics/")
# set the new name of the files
file_name = "photos"
file_list = []
counter = 1
for file in sorted(path.glob("*.JPG")): # file type to rename
file_list.append(file)
for file in file_list:
new_file = file_name + str(counter) + str(file.suffix).lower()
file.rename(path / new_file)
counter += 1
작동 방식
이 디렉토리에는
.jpg
및 .txt
의 두 가지 파일 유형이 있습니다. 이 예에서는 .jpg
파일의 이름만 변경하려고 합니다.먼저 스크립트는 표준 라이브러리에서
pathlib
모듈을 가져옵니다. 이 모듈의 함수를 사용하면 스크립트가 디렉토리를 탐색하고 파일 유형별로 반복하며 파일 이름을 바꿀 수 있습니다. .Path()
클래스는 이름을 바꿔야 하는 파일의 위치를 스크립트에 알려줍니다. path
변수에 할당됩니다.import pathlib
path = pathlib.Path("/home/joe/Pictures/examplePics/")
이름이 바뀌는 파일과 동일한 디렉토리에서 스크립트를 실행하면
path
가 작성될 수 있습니다.path = pathlib.Path().cwd()
다음으로 사용자는 새 파일 이름의 줄기가 될 문자열을
file_name
에 할당합니다. file_list
빈 목록을 초기화합니다. counter
는 파일 번호 지정 체계를 1부터 시작합니다.file_name = "photo"
file_list = []
counter = 1
첫 번째 'for 루프'는
path
가 가리키는 파일을 반복합니다. .glob()
메서드는 상대 패턴(역시 사용자가 할당)을 일치시켜 파일 형식을 지정합니다. 파일이 정렬되어 위에서 초기화된 file_list
에 추가됩니다.for file in sorted(path.glob("*.JPG")): # file type to rename
file_list.append(file)
이 첫 번째 'for 루프'가 없으면 이름 바꾸기 스크립트가 일부 파일을 덮어쓰고 지우는 비주류 사례가 있습니다.
file_name
문자열을 변경하지 않고 연속으로 두 번 실행하면 이런 일이 발생합니다. 작업 디렉터리 외부에서 스크립트를 실행할 때 Linux(WSL 및 Linux 시스템 모두)에서만 이 문제가 발생했습니다. Windows에서 문제를 복제하도록 할 수 없습니다.사용자가 이 파일 삭제 문제를 겪을 가능성은 그리 높지 않은 것 같습니다. 그러나 예기치 않게 파일이 손실되는 것을 좋아하는 사람은 아무도 없기 때문에 안전을 위해 스크립트에 보관했습니다.
두 번째 'for 루프'는
file_list
에 추가된 정렬된 파일을 반복합니다. new_file
가 초기화되고 새 파일 이름이 file_name
의 문자열, counter
의 정수(문자열로 변환됨) 및 첫 번째 'for 루프'에 지정된 파일 유형 접미사에서 연결됩니다. file.suffix
는 문자열로 변환되고 .lower()
문자열 메서드를 사용하여 소문자로 변환됩니다.*for file in file_list:
new_file = file_name + str(counter) + str(file.suffix).lower()
*저는 파일 확장자를 소문자로 하는 것을 좋아하기 때문에 파일 접미사를 변환했습니다. 대문자 확장자가 선호되거나 확장자가 이미 소문자인 경우 다음과 같이 줄을 작성할 수 있습니다.
new_file = file_name + str(counter) + file.suffix
마지막으로
.rename()
메서드는 파일의 이름을 대상 디렉토리 경로로 바꾸고 대상을 가리키는 새 Path 인스턴스를 반환합니다.counter
가 1씩 증가하고 지정된 모든 파일의 이름이 바뀔 때까지 스크립트가 반복됩니다. file.rename(path / new_file)
counter += 1
스크립트가 실행된 후 디렉토리는 다음과 같습니다.
읽어 주셔서 감사합니다!
Reference
이 문제에 관하여((또 다른) 간단한 Python 파일 이름 바꾸기 스크립트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/josephmads/another-simple-python-file-renaming-script-5dd1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)