728x90
shutil
모듈은 파일 복사, 이동, 삭제 등 고수준의 파일 시스템 작업을 자동화할 수 있도록 도와주는 표준 라이브러리입니다. 특히 폴더 백업, 파일 정리, 디렉토리 관리와 같은 작업을 스크립트로 자동화하는 데 매우 유용합니다.
● 파일 복사
shutil.copy()
는 파일 내용을 복사하고, shutil.copy2()
는 복사 시 메타데이터(타임스탬프 등)까지 유지합니다.
import shutil
shutil.copy("source.txt", "backup.txt")
shutil.copy2("original.txt", "original_backup.txt")
● 폴더 복사
copytree()
를 사용하면 폴더 전체를 재귀적으로 복사할 수 있습니다.
shutil.copytree("project", "project_backup")
단, 대상 경로가 이미 존재하면 오류가 발생하므로 사전 확인이 필요합니다.
● 파일 및 폴더 삭제
shutil.rmtree("temp_folder") # 폴더 전체 삭제
os.remove("temp.txt") # 파일 삭제
주의: rmtree()
는 매우 위험하므로, 경로를 반드시 확인한 후 사용해야 합니다.
● 파일 이동 및 이름 변경
shutil.move("old_name.txt", "new_name.txt")
파일의 위치 변경뿐 아니라 이름 변경도 가능합니다.
● 디스크 공간 확인
disk_usage()
로 드라이브 사용량을 확인할 수 있습니다.
usage = shutil.disk_usage("/")
print(f"총 용량: {usage.total}, 사용됨: {usage.used}, 남음: {usage.free}")
● 마무리
shutil
은 수작업으로 반복되던 파일 작업을 자동화하여 생산성을 크게 높여줍니다. 특히 정기적인 백업, 정리, 환경 설정 자동화 등 다양한 실무 시나리오에 적극 활용할 수 있습니다.
728x90
'프로그래밍언어 > 파이썬[중급]' 카테고리의 다른 글
[파이썬][중급] Chapter26. multiprocessing으로 병렬 처리 (0) | 2025.05.23 |
---|---|
[파이썬][중급] Chapter25. threading과 멀티스레드 이해 (0) | 2025.05.23 |
[파이썬][중급] Chapter23. configparser로 설정 파일 다루기 (0) | 2025.05.23 |
[파이썬][중급] Chapter21. argparse로 커맨드라인 옵션 만들기 (0) | 2025.05.23 |
[파이썬][중급] Chapter20. 엑셀 파일 처리(openpyxl, pandas) (0) | 2025.05.23 |