Language/Python

[python] 디렉토리명 변경하기

향식이 2022. 7. 6. 14:57

폴더명 변경하기 위해서는 os 라이브러리 내 rename을 사용해주면 된다.

 

import os

# 바꾸고자 하는 디렉토리가 포함된 경로
path = ''

for path, dir, files in os.walk(path):
    if len(dir) > 0:
        for dt in dir:
            try:
                float(dt)
            except ValueError:
                break
            else:
                if len(dt) == 8 and dt[2:4] == dt[4:6]:
                    rawpath = os.path.join(path,dt)
                    newpath = os.path.join(path,dt[:4]+dt[6:])
                    print(dt,'->',dt[:4]+dt[6:])
                    # rawpath에서 newpath로 변경
                    os.rename(rawpath,newpath)

위 코드에서는 바꾸고자 하는 디렉토리가 여러개 있을 때 해당 디렉토리를 찾고 그 디렉토리명을 바꾸고자 하였다. 

rename 함수는 기본적으로 현재 검색하고 있는 path 내에서 변경하기 때문에 위 코드 상황처럼 path와 rawpath가 다를 경우 경로로 작성해줘야 한다.

 

 

다행히 rename함수는 트랜잭션 단위기 때문에 tmp파일로 변환해줄 필요없이 바로 쓰면 된다. (링크 참고)

https://hyang2data.tistory.com/108

 

[python] 여러 파일을 생성 및 저장할 때의 파일 처리 방법

여러 파일을 생성하고 저장하는 프로세스에서는 중간에 끊겼을 때의 파일처리도 생각해야 한다. 여러 방법이 있겠지만 내가 생각한 방법은 처음 저장할 때 임시파일로 저장하고 저장이 완료되

hyang2data.tistory.com

 

반응형