파일 관리 시스템이란?
파일 관리 시스템은 그저 내가 정한 이름으로 파이썬에서 파일을 다루는 여러 가지 라이브러리를 이용하여 파일을 좀 더 쉽게 관리하고 처리하고 다룰 수 있는 시스템을 만들어볼 예정이다.
파일 관리 시스템 개요
모든 운영체제에는 기본적으로 파일을 다룰 수 있는 시스템을 기본적으로 제공한다.
윈도 운영체제에선 파일탐색기를 이용하고 Mac OS에선 Finder를 이용한다.
대게 이런 시스템은 파일과 폴더를 관리, 탐색, 정리할 수 있도록 도와주는
그래픽 사용자 인터페이스(GUI) 기반의 애플리케이션이라고 한다.
그래서 이런 편리한 애플리케이션을 이미 모두 갖추고 있는데 무슨 파일 관리 시스템이 필요하냐고 묻는다면,
파일 탐색기를 이용하여 많은 파일을 옮기거나, 압축된 파일을 여러 개 풀어야 한다거나,
폴더 내에서 특정 파일만 삭제하고 싶다거나 하는 등에 상황이 발생할 때
그냥 파일탐색기를 이용해서 해결하려고 한다면 큰 불편함을 느낄지도 모른다.
이런 불편함을 해결할 수 있는 시스템을 파이썬으로 직접 만들어보자.
첫 번째 파일 관리 시스템 - 파일 복사
첫 번째로 만들어볼 파일 관리 시스템은 폴더 내에 모든 파일을 복사하는 시스템이다.
간단하게 함수형태로 만들어 사용할 것이며 프로그래밍 언어로는 파이썬을 사용한다.
import os
import shutil
def copy_files(file, folder):
# 소스 폴더 내의 모든 파일 목록을 가져옴
files = os.listdir(folder)
for file_name in files:
# 원본 파일 삭제
source_path = os.path.join(folder, file_name)
os.remove(source_path)
# 대상 폴더로 복사
shutil.copy(file, folder)
# 파일 이름 변경 (원래 파일 이름으로)
destination_path = os.path.join(folder, file)
os.rename(destination_path, os.path.join(folder, file_name))
이렇게 파일을 복사하는 함수를 만들었다.
if __name__ == "__main__":
# 소스 폴더와 대상 폴더를 지정
# print("복사할 파일의 경로를 입력해주세요 : ")
source_file_path = "원본폴더의경로"
# print("파일이 들어갈 폴더의 경로를 입력해주세요 : ")
destination_folder_path = "대상폴더의경로"
# 함수 호출
copy_files(source_file_path, destination_folder_path)
이제 실행시킬 부분은 코드도 만들어주겠다.
프로그램 형식으로 만들면 입력메시지와 입력 창이 필요하지만 그냥 시스템이기에 변수로 선언해 주겠다.
실행시켜 주면 파일이 복사된 것을 확인할 수 있었다.
Next
다음엔 파일 이름 변경에 대하여 만들어보겠다.