Python os.rename()을 사용하여 파일 및 디렉토리 이름 바꾸기

⚡ 스마트 요약

Python os.rename() 함수를 사용하여 파일과 디렉터리의 이름을 변경합니다. 이 문서에서는 os.rename(), os.renames(), shutil.move(), pathlib의 Path.rename() 함수 사용법은 물론, 디렉터리 이름 변경 및 여러 파일을 일괄적으로 이름 변경하는 방법을 명확한 예제를 통해 배우게 됩니다.

  • ✏️ os.rename(): os.rename(src, dst)는 파일 또는 디렉터리의 이름을 변경합니다. 소스는 반드시 존재해야 합니다.
  • 🗂️ os.renames(): os.renames() 함수는 누락된 대상 폴더를 자동으로 생성합니다.
  • 🚚 shutil.move(): shutil.move()는 파일 이름을 변경하고 파일 시스템 간에 파일을 이동할 수 있습니다.
  • 🐍 경로 라이브러리: Path.rename()은 객체 지향 방식으로 파일 이름을 변경합니다.Python 3.4 이상).
  • 🤖 AI 도움말: Copilot과 같은 AI 도구는 이름 변경 및 일괄 이름 변경 코드를 즉시 생성합니다.

Python 파일 이름 변경 os.rename()

Python 파일명 변경

Python 이름 바꾸기() 파일 파일이나 디렉토리의 이름을 바꾸는 데 사용되는 방법입니다. Python 프로그램 작성. 그만큼 Python rename() 파일 메소드는 src(소스)와 dst(대상)라는 두 개의 인수를 전달하여 선언할 수 있습니다.

통사론

os.rename() 메소드의 구문은 다음과 같습니다.

os.rename(src, dst)

파라미터

src : 소스는 파일이나 디렉터리의 이름입니다. 이미 존재해야 합니다.

일자: 대상은 변경하려는 파일 또는 디렉터리의 새 이름입니다.

예:

import os  
os.rename('guru99.txt','career.guru99.txt')

예시를 자세히 살펴보자

원본 파일의 이름을 변경할 수 있습니다. 저희는 파일 이름을 "에서 변경했습니다.Guru99.txt”를 “Career.guru99.txt”로 변경합니다.

Python 파일명 변경

  • "guru99.txt" 파일의 이름을 바꾸려면 OS 모듈의 "이름 바꾸기 기능"을 사용하겠습니다.
  • 따라서 코드가 실행되면 패널 오른쪽에 "career.guru99.txt"라는 새 파일이 생성되는 것을 볼 수 있으며, 원본 파일의 이름을 변경했습니다.

다음은 완전한 코드입니다.

import os
import shutil
from os import path

def main():
	# make a duplicate of an existing file
    if path.exists("guru99.txt"):
	# get the path to the file in the current directory
        src = path.realpath("guru99.txt");
		
	# rename the original file
        os.rename('guru99.txt','career.guru99.txt') 
		
if __name__ == "__main__":
    main()

디렉토리 이름을 바꾸는 방법 Python

os.rename() 메서드는 파일뿐만 아니라 디렉터리의 이름도 변경합니다. 소스에는 현재 폴더 이름을, 대상에는 새 이름을 전달하세요.

import os
os.rename("old_directory", "new_directory")

소스 디렉터리가 존재하지 않는 경우, Python FileNotFoundError가 발생하므로 경로를 먼저 확인하는 것이 좋습니다.

os.renames()를 사용하여 파일 이름 변경하기

`os.renames()` 메서드는 파일 이름을 변경하고 대상 경로에 누락된 중간 디렉터리를 자동으로 생성합니다. 또한 소스 경로에 남아 있는 빈 디렉터리를 제거합니다.

import os
os.renames("guru99.txt", "archive/2024/career.txt")

여기서 archive 및 2024 폴더는 존재하지 않을 경우 자동으로 생성됩니다.

shutil.move()를 사용하여 파일 이름 변경

shutil.move() 함수는 파일을 새 위치로 이동시키는데, 대상 위치가 같은 디렉터리인 경우 사실상 파일 이름을 변경하는 것과 같습니다.

import shutil
shutil.move("guru99.txt", "career.guru99.txt")

os.rename()과 달리 shutil.move()는 서로 다른 파일 시스템이나 드라이브 간에 파일을 이동할 수도 있습니다.

pathlib 모듈을 사용하여 파일 이름 변경하기

In Python 3.4 버전 이상에서는 pathlib 모듈이 파일 이름을 변경하기 위한 객체 지향적인 Path.rename() 메서드를 제공합니다.

from pathlib import Path

file = Path("guru99.txt")
file.rename("career.guru99.txt")

rename() 메서드는 이름이 변경된 파일을 가리키는 새로운 Path 객체를 반환합니다.

여러 파일의 이름을 바꾸는 방법 Python

여러 파일의 이름을 한 번에 변경하려면 `os.listdir()`를 사용하여 디렉터리의 파일 목록을 순회하고 각 파일에 대해 `os.rename()`을 호출합니다. 아래 예제는 모든 파일 이름 앞에 숫자로 된 접두사를 추가합니다.

import os

folder = "myfiles"
for count, filename in enumerate(os.listdir(folder)):
    new_name = f"file_{count}.txt"
    os.rename(os.path.join(folder, filename), os.path.join(folder, new_name))

os.path.join()을 사용하면 어떤 운영 체제에서도 코드가 올바르게 작동합니다.

자주 묻는 질문

os 모듈을 임포트하고 os.rename(src, dst)를 호출하여 현재 파일 이름과 새 파일 이름을 전달합니다. 소스 파일은 이미 존재해야 합니다. Python FileNotFoundError가 발생합니다.

os.rename()은 단일 파일 또는 디렉터리의 이름을 변경하는 반면, os.renames()는 이동 후 누락된 중간 디렉터리를 생성하고 비어 있는 원본 폴더를 제거합니다.

네. shutil.move(src, dst)는 대상 폴더가 원본 폴더와 같은 경우 파일 이름을 변경하며, os.rename()과는 달리 서로 다른 파일 시스템 간에도 파일을 이동할 수 있습니다.

`os.rename('old_dir', 'new_dir')`를 사용하세요. 소스 디렉터리가 존재하는 한, `os.rename()` 함수는 파일과 디렉터리 모두에 동일하게 적용됩니다.

os.listdir(folder)를 순회하면서 각 파일에 대해 os.rename()을 호출합니다. os.path.join()을 사용하여 전체 경로를 구성하면 모든 운영 체제에서 코드가 작동합니다.

GitHub Copilot과 같은 AI 비서는 os.rename() 및 pathlib 호출을 자동 완성하고, 원하는 명명 패턴을 설명하는 주석에서 일괄 이름 변경 루프를 생성합니다.

네. AI 기반 도구를 사용하면 일괄 이름 변경 스크립트 작성을 자동화하고, 번호나 날짜 접두사와 같은 패턴을 적용하고, 누락되거나 중복된 이름에 대한 오류 처리를 추가할 수 있습니다.

On Windowsos.rename()은 대상 파일이 이미 존재하는 경우 FileExistsError를 발생시킵니다. 유닉스 시스템에서는 오류 메시지 없이 파일을 덮어씁니다. 데이터 손실을 방지하려면 먼저 os.path.exists()를 사용하여 경로가 존재하는지 확인하십시오.

이 게시물을 요약하면 다음과 같습니다.