이전까지 배웠던 내용들을 모두 총괄하여 복습해보는 시간을 가져보겠습니다.
특히 이전 챕터에서 학습했던 여러 모듈들을 사용하여 파일들을 다루어 보겠습니다.
대학 생활하면서 사용하던 파일들이 정리없이 바탕화면에 널부러져 있는 것을 발견하였습니다. 이 파일들을 파이썬을 이용하여 전공필수, 전공선택, 교양 으로 분류하여 정리해보도록 하겠습니다!
여러 파일들을 파일 이동 연습(통계학 분류) 문서함에 넣었습니다. 이 데이터들을 활용하여 분류 작업 및 압축 파일 해제 등 이전에 배웠던 내용들을 복습해보겠습니다.
os.getcwd()를 통해 현재 경로를 알아볼 수 있습니다.
target_path를 통해 정리 대상 디렉토리 경로를 설정합니다,
zipfile_path 리스트에 담긴 요인을 통해 "파일 이동 연습(통계학 분류)" 디렉토리에서의 압축 파일을 확인할 수 있습니다.
엑셀의 1행 1열, 1행 2열, 1행 3열의 값을 지정합니다. 그 후 for문을 이용해 1열, 2열에 경로와 파일 명을 입력하도록 합니다. 마지막으로 wb.save()를 통해 filelist.xlsx 엑셀 파일에 내용을 저장하도록 합니다.
getFileName(target_path)함수를 실행시켜 엑셀 파일을 생성하여 저장하도록 합니다.
excelRead(엑셀파일경로) 함수를 만들어 튜플 형태로 디렉토리, 파일명(변경전), 파일명(변경후)로 묶이는 형태를 리스트로 반환해보겠습니다.
1행은 '파일경로', '파일명(변경전)', '파일명(변경후)' 이므로 다음 행인 2행부터 튜플로 묶어 리스트로 반환합니다. 따라서 range(1, len_num)으로 설정합니다. 리턴값을 datalist로 설정하여 리스트를 반환할 수 있도록 설정합니다.
문서에 분류없이 나열되어 있는 파일들을 범주별로 구분하여 분류 작업을 해보겠습니다. 우선 디렉토리안의 파일을 확ㅇ니하여 카테고리를 뽑아주는 함수를 만들겠습니다.
패턴이 없는 파일명을 가진 파일 같은 경우에는 따로 카테고리를 추가하여 분류합니다. '교양' 카테고리를 추가합니다.
새로운 문서에 분류할 파일들을 저장하도록 하겠습니다. os.path.join()을 통해 new_path 경로를 지정합니다.
makeDir 함수를 만들어 상위 디렉토리에 "new_연습" 문서를 만들 수 있도록 해줍니다.
moveFile()함수를 만들어 파일들을 복사하여 분류까지의 작업을 수행할 수 있도록 합니다. filelist에 파일명들을 저장한 후 for문과 try-except문을 통해 카테고리에 해당하는 파일들을 분류합니다. shutil모듈을 불러와서 shutil.copy()를 사용하여 target_path 경로의 파일들을 new_path 경로로 파일을 복사합니다.
moveFile(new_path, target_path, categorylist)를 실행해주면 다음과 같이 알맞게 분류되었음을 확인할 수 있습니다.
마치며...
디렉토리 관리 시나리오를 만들어 보면서 여태까지 학습했던 파이썬 문법들을 활용할 수 있었습니다. 활용하는 과정 속에서 어떤 부분이 취약했는지도 확인할 수 있었습니다. 저 같은 경우에는 사용자 정의 함수를 만들어 활용하는 부분이 취약했던 것 같아 그 부분을 여러 번 확인하여 개념을 익히는데 집중하였습니다. 또 지금까지 학습했던 문법들을 활용하여 보다 더 간편하고 가독성이 쉬운 코드를 작성하기 위해 위와 같은 시나리오를 계속해서 만들겠다고 다짐했습니다.
DB를 활용한 단어장! (0) | 2024.03.28 |
---|---|
수강 신청 (0) | 2024.03.28 |
주민번호 유효성 검사 프로그래밍(through Python) (0) | 2024.03.19 |
로또 예측 게임(through Python) (0) | 2024.03.18 |
가위 바위 보 게임(through Python) (0) | 2024.03.18 |