반응형
반응형

오늘은 파이썬(python)을 사용해서 폴더 하위 파일 이름을 한 번에 변경해보겠습니다.

C++을 사용하면 코드가 많아지지만 파이썬(python)은 정말 간단하게 구현 가능합니다.

폴더 하위 파일에 특정 단어가 중복되는 경우가 있습니다.

몇개 파일이라면 이름 변경은 매우 간단한 일입니다.

하지만 폴더 및 파일 개수가 많이 지면 일일이 모두 변경하기 쉽지 않습니다.

같은 단어 위치가 동일하다면 코드를 사용해서 변경이 가능합니다.

def DirCheck( path ):
    file_list = os.listdir(path)
    for name in file_list:
        newpath = os.path.join(path,name)
        #print("path:" + newpath)
        if os.path.isfile(newpath):
            print(name + ":파일")
            FileRename(name, newpath, path )
        elif os.path.isdir(newpath):
            print("폴더 시작")
            DirCheck(newpath)
            print("폴더 확인")
        else:
            print(name + ":아무것도아님")

파일을 변경하기 전에 폴더가 중복으로 존재할 수 있어 폴더를 먼저 확인하는 함수를 작성했습니다.

재귀 호출을 사용해서 파일과 폴더를 구분합니다.

os.listdir() 함수를 사용하면 폴더 경로 하위 파일 정보를 확인할 수 있습니다.

처음 경로를 확인하기 위해서 경로를 newpath에 저장합니다.

os.path.join()을 사용하면 폴더 경로와 파일 이름을 합성하여 신규 경로를 생성합니다.

os.path.isfile() 함수를 사용해서 파일을 확인합니다.

파일일 경우는 fileRename() 함수를 사용해서 파일 이름 변경을 실행합니다.

os.path.isdir() 함수를 사용해서 폴더를 확인합니다.

폴더일 경우 재귀 함수 호출로 폴더를 재 검색하게 합니다.

def FileRename( name, bepath, afpath ):
    replaceword = " - Once"
    newName = str(name)
    newName = newName.replace(replaceword,"")
    os.rename(bepath, afpath + "/" + newName)
    print(newName)

FileRename() 함수는 replaceword에 설정된 문자열을 변경하고 경로에 저장합니다.

replace() 함수를 사용하면 특정 문자열을 변경할 수 있습니다.

os.rename() 함수를 사용해서 기존 경로 파일 정보를 신규 정보로 변경합니다.

path_dir = R'D:\Once - 원스 OST'
DirCheck(path_dir)

상위 경로를 설정 후 DirCheck() 함수를 사용하면 하위 폴더를 검색하고 파일 이름에서 "- Once"를 공백으로 변경합니다.

출력 결과 입니다.

처음 파일을 검색하고 이름을 변경한 내용을 확인할 수 있습니다.

폴더 확인 결과 정상적으로 파일 이름이 한 번에 모두 변경되었습니다.

파이썬(python)은 간단한 코드를 사용해서 반복적인 작업을 간단하게 수행할 수 있습니다.

폴더 및 파일 접근은 매우 중요한 내용이기 때문에 꼭 확인해주세요.

감사합니다.

반응형

+ Recent posts