특정 파일 찾기
이번 시간에는 파이썬으로 특정 파일을 찾는 프로그램을 만들어 보겠습니다.
컴퓨터 폴더 안에는 사진, 문서, 음악 파일처럼 여러 파일이 들어 있습니다.
파일이 많아지면 원하는 파일을 찾기 어려울 수 있습니다.
이럴 때 파이썬을 사용하면
폴더 안에 있는 파일 중에서 내가 찾고 싶은 이름의 파일을 쉽게 찾을 수 있습니다.
1. 파일 검색 프로그램이란?
파일 검색 프로그램은 사용자가 입력한 검색어가
파일 이름 안에 들어 있는지 확인하는 프로그램입니다.
예를 들어 폴더 안에 이런 파일이 있다고 해 보겠습니다.
photo.jpg
memo.txt
school_homework.txt
music.mp3
사용자가 memo라고 입력하면
파이썬은 파일 이름을 하나씩 확인하고
memo.txt 파일을 찾아줍니다.
2. 이번 프로그램에서 배울 내용
이번 예제에서는 다음 내용을 배웁니다.
- 폴더 안의 파일 목록 확인하기
- 사용자가 찾고 싶은 파일 이름 입력하기
- 파일 이름에 검색어가 들어 있는지 확인하기
- 찾은 파일을 화면에 출력하기
3. 전체 코드
import os
# 검색할 폴더 경로 입력
folder_path = input("검색할 폴더 경로를 입력하세요: ")
# 찾고 싶은 파일 이름 입력
search_name = input("찾고 싶은 파일 이름을 입력하세요: ")
# 파일을 찾았는지 확인하는 변수
found = False
# 폴더가 실제로 있는지 확인
if os.path.exists(folder_path):
# 폴더 안의 파일 목록 가져오기
file_list = os.listdir(folder_path)
print("\n검색 결과")
# 파일 목록을 하나씩 확인
for file_name in file_list:
# 파일 이름에 검색어가 포함되어 있는지 확인
if search_name in file_name:
print(file_name)
found = True
# 찾은 파일이 없을 때
if found == False:
print("찾는 파일이 없습니다.")
else:
print("폴더 경로가 올바르지 않습니다.")
4. 코드 설명
1) os 모듈 불러오기
import os
os는 파이썬에서 폴더와 파일을 다룰 때 사용하는 도구입니다.
예를 들어 폴더가 있는지 확인하거나,
폴더 안에 어떤 파일이 있는지 확인할 수 있습니다.
2) 검색할 폴더 입력하기
folder_path = input("검색할 폴더 경로를 입력하세요: ")
사용자가 검색하고 싶은 폴더 위치를 입력합니다.
예시:
C:\Users\user\Desktop
3) 찾고 싶은 파일 이름 입력하기
search_name = input("찾고 싶은 파일 이름을 입력하세요: ")
사용자가 찾고 싶은 파일 이름이나 검색어를 입력합니다.
예를 들어 memo라고 입력하면
파일 이름에 memo가 들어간 파일을 찾습니다.
4) 파일을 찾았는지 확인하는 변수
found = False
found는 파일을 찾았는지 기억하는 변수입니다.
처음에는 아직 파일을 찾지 않았기 때문에 False로 시작합니다.
5) 폴더가 있는지 확인하기
if os.path.exists(folder_path):
사용자가 입력한 폴더가 실제로 있는지 확인합니다.
폴더가 있으면 파일 검색을 시작하고,
폴더가 없으면 오류 메시지를 보여줍니다.
6) 폴더 안의 파일 목록 가져오기
file_list = os.listdir(folder_path)
os.listdir()은 폴더 안에 들어 있는 파일과 폴더 이름을 목록으로 가져옵니다.
예를 들어 폴더 안에 파일이 3개 있으면 이렇게 가져올 수 있습니다.
["memo.txt", "photo.jpg", "music.mp3"]
7) 파일 이름 하나씩 확인하기
for file_name in file_list:
파일 목록을 하나씩 꺼내서 확인합니다.
8) 검색어가 파일 이름에 들어 있는지 확인하기
if search_name in file_name:
파일 이름 안에 사용자가 입력한 검색어가 있는지 확인합니다.
예를 들어 사용자가 memo를 입력했고
파일 이름이 memo.txt라면 조건이 맞습니다.
9) 찾은 파일 출력하기
print(file_name)
found = True
검색어가 들어 있는 파일을 찾으면 파일 이름을 출력합니다.
그리고 found를 True로 바꿔서
파일을 찾았다고 표시합니다.
10) 찾는 파일이 없을 때
if found == False:
print("찾는 파일이 없습니다.")
파일을 끝까지 확인했는데도 찾지 못했다면
찾는 파일이 없습니다.라고 출력합니다.
5. 실행 예시
입력
검색할 폴더 경로를 입력하세요: C:\Users\user\Desktop
찾고 싶은 파일 이름을 입력하세요: memo
출력
검색 결과
memo.txt
my_memo_backup.txt
6. 찾는 파일이 없을 때
입력
찾고 싶은 파일 이름을 입력하세요: game
출력
검색 결과
찾는 파일이 없습니다.
7. 폴더 경로가 틀렸을 때
입력
검색할 폴더 경로를 입력하세요: C:\wrong_folder
출력
폴더 경로가 올바르지 않습니다.
8. 조금 더 발전된 코드
이번에는 대소문자를 구분하지 않고 검색하도록 만들어 보겠습니다.
예를 들어 Memo.txt라는 파일이 있을 때
사용자가 memo라고 입력해도 찾을 수 있습니다.
import os
folder_path = input("검색할 폴더 경로를 입력하세요: ")
search_name = input("찾고 싶은 파일 이름을 입력하세요: ")
found = False
if os.path.exists(folder_path):
file_list = os.listdir(folder_path)
print("\n검색 결과")
for file_name in file_list:
if search_name.lower() in file_name.lower():
print(file_name)
found = True
if found == False:
print("찾는 파일이 없습니다.")
else:
print("폴더 경로가 올바르지 않습니다.")
9. 핵심 정리
파일 검색 프로그램의 흐름은 다음과 같습니다.
1. 검색할 폴더 입력
2. 찾을 파일 이름 입력
3. 폴더 안의 파일 목록 확인
4. 파일 이름에 검색어가 있는지 검사
5. 찾은 파일 출력
파이썬은 파일 이름을 하나씩 확인하면서
우리가 찾고 싶은 파일을 대신 찾아줍니다.
파일이 많은 폴더에서 원하는 파일을 찾을 때
아주 유용하게 사용할 수 있습니다.
10. 마무리
이번 시간에는 파이썬으로 특정 파일 찾기 프로그램을 만들어 보았습니다.
처음에는 단순히 파일 이름을 찾는 기능만 만들었지만,
나중에는 다음 기능도 추가할 수 있습니다.
- 하위 폴더까지 검색하기
- 파일 확장자별로 검색하기
- 검색 결과를 TXT 파일로 저장하기
- 파일 크기나 수정 날짜 확인하기
이런 기능을 추가하면
실제 파일 검색 프로그램처럼 더 멋지게 만들 수 있습니다.
파일 검색 프로그램

'강의 > Python 기초' 카테고리의 다른 글
| Chapter 14. JSON 데이터 관리 프로그램 (0) | 2026.06.11 |
|---|---|
| Chapter 13. 파일 이름 일괄 변경기 (0) | 2026.06.11 |
| Chapter 11. 메모장 저장 프로그램 (TXT 파일 저장) (0) | 2026.06.11 |
| Chapter 10. 단어 암기 프로그램 (0) | 2026.06.11 |
| Chapter 9. 비밀번호 생성기 만들기 (0) | 2026.06.10 |