Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python 파일 이름 변경 방법: os.rename() 완벽 가이드

파이썬의 os.rename() 메서드는 파일의 이름을 변경합니다. 이 메서드는 두 개의 인자를 받습니다. 하나는 기존 파일의 경로이고, 다른 하나는 새 파일의 경로입니다. 새 파일 경로는 반드시 다른 파일 이름으로 끝나야 합니다.


파이썬에서 파일 이름을 변경해야 하는 이유

파이썬으로 파일을 다루다 보면 특정 파일의 이름을 바꿔야 하는 경우가 자주 생깁니다. 예를 들어 raw_data.csv라는 파일이 있고, 프로그램이 실행된 후 이 파일을 old_data.csv로 바꾸고 싶다고 가정해 봅시다.

바로 이럴 때 os.rename() 메서드가 유용합니다. 이 메서드를 사용하면 파이썬에서 기존 파일의 이름을 손쉽게 변경할 수 있습니다.

이 글에서는 os.rename() 메서드의 기본 개념과 실제 활용 방법을 예제와 함께 자세히 살펴보겠습니다.

os.rename() 메서드의 기본 구조

파이썬의 os.rename() 메서드는 파일의 이름을 변경하는 역할을 합니다. 이름을 변경하려는 파일은 이미 존재해야 하며, 해당 파일의 현재 경로와 새로 지정할 경로를 모두 명시해야 합니다. 새 경로에는 기존 파일과 다른 이름이 포함되어야 합니다.

os.rename()의 기본 문법은 다음과 같습니다:

os.rename(file, destination)

보시다시피 rename() 메서드는 두 개의 매개변수를 받습니다:

  • file: 이름을 변경할 파일의 경로와 파일 이름 (예: "/home/career_karma/file.txt")
  • destination: 새 파일 이름이 포함된 파일의 경로 (예: "/home/career_karma/file_new.txt")

os.rename() 메서드는 파이썬의 os 라이브러리에 포함되어 있습니다. os 라이브러리는 파일 생성 및 삭제처럼 운영체제와 관련된 다양한 기능을 제공합니다.

os.rename() 메서드를 사용하려면 먼저 os 라이브러리를 임포트해야 합니다:

import os

그럼 실제 예제를 통해 os.rename() 메서드가 어떻게 동작하는지 확인해 보겠습니다.

파일 이름 변경 예제

raw_data.csv 파일의 이름을 old_data.csv로 변경하고 싶다고 가정해 보겠습니다. 이 파일은 /home/career_karma 디렉터리에 저장되어 있습니다. 다음 코드로 파일 이름을 변경할 수 있습니다:

import os

old_file_name = "/home/career_karma/raw_data.csv"
new_file_name = "/home/career_karma/old_data.csv"

os.rename(old_file_name, new_file_name)

print("File renamed!")

위 코드를 실행하면 콘솔에 File renamed!가 출력되며, 실제로 파일 이름도 변경됩니다.

코드의 동작 순서를 살펴보겠습니다. 먼저 os 모듈을 임포트하여 os.rename() 메서드에 접근할 수 있도록 합니다.

그다음 두 개의 변수를 선언합니다. 첫 번째 변수(old_file_name)에는 이름을 변경할 파일의 경로가 담기고, 두 번째 변수(new_file_name)에는 새로 지정할 파일 경로가 담깁니다.

파일 이름을 old_data.csv로 바꾸려는 것이므로, new_file_name 변수는 raw_data.csv가 아닌 old_data.csv로 끝납니다.

마지막으로 os.rename()을 호출하여 파일 이름을 변경하고, 프로그램이 정상적으로 실행되었음을 알리기 위해 "File renamed!"라는 메시지를 콘솔에 출력합니다.

여러 파일 이름 한 번에 변경하기

이번에는 여러 개의 파일 이름을 동시에 변경하는 방법을 알아보겠습니다. 이 역시 os.rename() 메서드로 가능합니다.

예를 들어 /home/career_karma 디렉터리 안의 모든 파일 이름 앞에 old_를 붙이고 싶다고 가정해 봅시다. 현재 이 디렉터리에는 다음과 같은 파일들이 있습니다:

  • data.csv
  • raw_data.csv
  • program.py

각 파일 이름 앞에 old_를 추가하려면 다음과 같은 코드를 사용할 수 있습니다:

import os

for file in os.listdir("/home/career_karma"):
	dos.rename(file, f"/home/career_karma/old_{file}")

코드 실행 후 디렉터리의 파일 목록은 다음과 같이 변경됩니다:

  • old_data.csv
  • old_raw_data.csv
  • old_program.py

코드의 작동 원리를 분석해 보겠습니다. 먼저 os 모듈을 임포트하여 os.rename()os.listdir() 메서드를 사용할 수 있도록 합니다. 그다음 for 루프를 생성하여 os.listdir() 메서드로 가져온 /home/career_karma 폴더 내 모든 파일 목록을 순회합니다.

루프 내부에서는 os.rename()을 호출하여 각 파일의 이름을 변경합니다. 이때 파이썬 f-string을 활용해 파일 이름을 /home/career_karma/old_{FILE_NAME} 형식으로 변환합니다. 여기서 FILE_NAME은 기존 파일의 이름입니다.

결과적으로 /home/career_karma 폴더의 모든 파일 이름 앞에 old_가 추가된 것을 확인할 수 있습니다.

마무리

os.rename() 메서드를 사용하면 파이썬에서 파일 이름을 간편하게 변경할 수 있습니다. 또한 os.listdir() 메서드와 함께 사용하면 폴더 안의 모든 파일 이름을 한 번에 변경하는 것도 가능합니다.

이 글에서는 os 모듈의 기본 개념과 os.rename() 메서드의 사용법을 예제 중심으로 살펴보았습니다. 이제 여러분도 전문가처럼 os.rename()을 활용해 파일 이름을 자유롭게 관리할 수 있을 것입니다.

파이썬 코딩을 더 깊이 배우고 싶으신가요? 파이썬 학습 로드맵과 전문가가 추천하는 학습 자료들을 참고하면 실력 향상에 큰 도움이 될 것입니다.