공부한 내용 정리하는 공간입니다.
틀린 내용이 있을 수 있습니다.
모든 지적, 첨언 환영합니다.
오늘의 코드
1. 특정 디렉터리 모니터링 하기
2. 신규 파일 탐지 시 보고서 작성하기
import os, time
from datetime import datetime
DIR_PATH = 'example'
now = datetime.now()
day = now.strftime("%Y-%m-%d")
hour = now.strftime("%H:%M:%S")
pre_file = set(os.listdir(DIR_PATH))
while True:
current_file = set(os.listdir(DIR_PATH))
result_diff = current_file - pre_file
for file_name in result_diff:
print(f"새로운 파일 탐지 : {file_name}")
with open(f"{day} 탐지 보고서.txt", "a", encoding='utf-8') as file:
file.write(f"작성자: 김한나\n")
file.write(f"신규 파일 탐지\n")
file.write(f"시간: {hour}, 파일 이름: {file_name}\n")
pre_file = current_file
print("모니터링 중")
time.sleep(2)
set()
집합 자료형을 만드는 함수
중복되지 않는 값들의 모임
중복되는 값이 있다면 제거하고 반환
순서가 없어서 인덱스 사용 불가
수학적인 집합 연산이 가능
.write()
파일에 데이터를 쓰는 메서드
텍스트를 추가할 때는 쓰기 모드('w' 또는 'a')로 열어야 함
오늘의 코드
1. 특정 디렉터리 모니터링 하기
2. 신규 파일 탐지 시 보고서 작성하기
import os, time
from datetime import datetime
DIR_PATH = 'example'
now = datetime.now()
day = now.strftime("%Y-%m-%d")
hour = now.strftime("%H:%M:%S")
pre_file = set(os.listdir(DIR_PATH))
while True:
current_file = set(os.listdir(DIR_PATH))
result_diff = current_file - pre_file
for file_name in result_diff:
print(f"새로운 파일 탐지 : {file_name}")
with open(f"{day} 탐지 보고서.txt", "a", encoding='utf-8') as file:
file.write(f"작성자: 김한나\n")
file.write(f"신규 파일 탐지\n")
file.write(f"시간: {hour}, 파일 이름: {file_name}\n")
pre_file = current_file
print("모니터링 중")
time.sleep(2)
오늘의 코드 결과



오늘의 코드 설명
import os, time
from datetime import datetime
os : 운영 체제와 관련된 작업을 할 수 있는 모듈, 파일 및 디렉터리 작업할 때 사용
time : 시간 관련 기능을 제공하는 모듈, 현재 시간 확인 등의 기능 제공
datetime : 날짜와 시간 관련 작업을 다룰 수 있는 모듈의 datetime 클래스
hour = now.strftime("%H:%M:%S")
현재 시간을 24시간:분:초 형태로 변환하여 hour에 저장
1. 특정 디렉터리 모니터링 하기
pre_file = set(os.listdir(DIR_PATH))
DIR_PATH 안에 있는 파일과 폴더의 목록을 리스트로 변환하여 중복값을 제거하고 pre_file에 저장
while True:
무한루프
current_file = set(os.listdir(DIR_PATH))
DIR_PATH 안에 있는 파일과 폴더의 목록을 리스트로 변환하여 중복값을 제거하고 current_file에 저장
디렉터리 DIR_PATH에 새로운 파일이 생성되기 전에는 pre_file=current_file
result_diff = current_file - pre_file
현재 파일 리스트에서 이전 파일 리스트를 빼면 새로 생성된 파일을 확인할 수 있음
result_diff에는 새로 생성된 파일만 저장됨
2. 신규 파일 탐지 시 보고서 작성하기
for file_name in result_diff:
file_name은 result_diff에서 반복 실행
새로 만들어진 파일 이름이 저장됨
with open(f"{day} 탐지 보고서.txt", "a", encoding='utf-8') as file:
"14일 탐지 보고서.txt" 파일을 추가 모드로 열어서 파일 내용을 file에 저장
"14일 탐지 보고서.txt"라는 파일은 없기때문에 새로 생성됨
한 번 생성된 이후에는 내용만 추가됨
pre_file = current_file
보고서 작성이 완료되면 이후 새로운 파일 생성을 탐지를위해 다시 현재 파일 리스트와 이전 파일 리스트를 같게 함