Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- python
- dockerfile
- 함수
- jenkins
- open ai
- git hub
- AI
- Linux
- awskrug
- GIT
- 리눅스
- 클라우드
- AI챗봇
- 프로세스 관리
- go
- docker
- maven
- 표준 라이브러리
- 명령어
- AWS
- 파이썬
- 사용자 계정 관리
- terraform
- Azure
- 애저
- aws사용자모임
- 3티어 아키텍처
- 변수
- nexus
- it기사
Archives
- Today
- Total
We are Architect
35. 파이썬을 이용한 파일 정리 프로그램 본문
* 취지 :
- 만약 파일을 시간대별로 순번을 매기고 싶다면 어떨까?라는 취지로 만들어 봤다. 하나하나 노가다 하기에는 너무 귀찮지만 프로그램을 이용하면 어떨까? 하는 마음에 공부하면서 만들어 봤다.
* 코드 작성 계획
- 디렉터리 경로 확보
- 디렉터리에 존재하는 파일 및 디렉터리 확인.
- 해당 파일들 목록 가져오기(요소 값: 파일이름, 생성시간)
- 요소값 대로 sort 정렬하기
- 해당 값을 튜플 값으로 가져오고 모든 값을 가져오게 for으로 반복.
- 파일의 확장자 분리
- 기존 이름에 번호 붙이기
- 프로그램 실행 완료 알림
* 도구 및 패키지
- 기본라이브러리 : os 모듈
* 전체 코드
import os
def add_number_folder(dir):
try:
# 디렉터리 존재 확인.
if not os.path.exists(dir):
print("디렉터리가 존재하지 않습니다.")
return
# 파일 목록 가져오기
files = [(file, os.path.getatime(os.path.join(dir, file))) for file in os.listdir(dir)]
# 파일을 수정 시간 기준으로 오름 차순정렬(오래된 파일이 먼저)
# 리스트 요소에서 첫번째 1번째 요소를 가져온다.
# 해당 값을 가지고 키값을 가지고 정렬을 시도한다.
files.sort(key=lambda x: x[1])
# 번호를 매겨 이름 변경
# _ 사용이유는 튜플에서 가져온 생성시간 값 까지는 사용하지 않겠다는 이야기
for i, (file, _) in enumerate(files, 1):
file_path = os.path.join(dir, file)
if os.path.isfile(file_path):
# 기존 파일명과 확장자 분리
name, ext = os.path.splitext(file)
# 새로운 이름 생성: 번호 + 기존이름 + 확장자
new_name = f"{i}.{name}{ext}"
new_path = os.path.join(dir, new_name)
os.rename(file_path, new_path)
print(f"'{file}' -> {new_name} 으로 변경됨.")
print(f"'{dir}'폴더의 파일 이름이 모두 변경되었음.")
except ValueError as e:
print(f"오류발생! : {e}")
# 프로그램이 직접 실행되었을때 실행.
if __name__ == "__main__":
# 사용자 입력
target_dir = input("번호 순서를 매길 파일들이 있는 디렉터리 경로 입력 : ")
add_number_folder(target_dir)
* 실행 결과
- 파일이 생성된 시간 순서대로 번호가 매겨졌다.
'Programing > Python' 카테고리의 다른 글
37. 파이썬을 이용한 비밀번호 적합도 프로그램 만들기 (5) | 2024.12.27 |
---|---|
36. 파이썬을 이용한 유튜브 동영상 다운로드 프로그램 (2) | 2024.12.25 |
34. 파이썬을 이용한 이자율 계산기 (3) | 2024.12.09 |
33. 파이썬을 이용한 데이터 시각화 프로그램 만드는 법 (0) | 2024.12.08 |
32. flask로 웹사이트 간단하게 만들기 (0) | 2024.12.07 |