본문 바로가기

[Tkinter] 50강 파일 열기 다이얼로그 사용하기

@도마22026. 2. 14. 21:00
728x90


이 강의는 Tkinter GUI 강의 50강입니다

49강에서는
확인 다이얼로그를 사용해
사용자의 선택에 따라
프로그램 흐름을 제어했습니다.

이번 강의에서는
GUI 프로그램에서 매우 중요한 기능인
파일 열기 다이얼로그를 다룹니다.

이번 강의의 목표는 분명합니다.
파일 선택 다이얼로그의 동작 방식과
선택된 파일 경로를 다루는 방법을 이해하는 것입니다.


파일 다이얼로그는 왜 중요한가

GUI 프로그램은
사용자의 파일을
직접 다루는 경우가 많습니다.

예를 들면 다음과 같습니다.

  • 텍스트 파일 열기
  • 이미지 불러오기
  • 설정 파일 읽기

이때
직접 경로를 입력받는 대신
파일 다이얼로그를 사용하는 것이
표준적인 UX입니다.


filedialog 모듈 소개

파일 다이얼로그는
filedialog 모듈을 사용합니다.

from tkinter import filedialog

이 모듈은
운영체제에서 제공하는
파일 선택 창을 그대로 사용합니다.


가장 기본적인 파일 열기 함수

file_path = filedialog.askopenfilename()

이 함수는
파일 선택 창을 띄우고
선택한 파일의 경로 문자열을 반환합니다.


파일을 선택하지 않으면 어떻게 될까

사용자가
취소 버튼을 누르면
반환값은 다음과 같습니다.

빈 문자열("")

따라서
항상 선택 여부를 확인해야 합니다.


파일 열기 기본 예제

import tkinter as tk
from tkinter import filedialog, messagebox

window = tk.Tk()
window.geometry("300x200")

def open_file():
    file_path = filedialog.askopenfilename()
    if file_path:
        messagebox.showinfo("선택된 파일", file_path)

tk.Button(window, text="파일 열기", command=open_file).pack(pady=60)

window.mainloop()

파일을 선택하면
선택한 경로가
메시지로 출력됩니다.


파일 확장자 필터 설정하기

특정 파일만
선택하도록 제한할 수 있습니다.

file_path = filedialog.askopenfilename(
    filetypes=[("텍스트 파일", "*.txt"), ("모든 파일", "*.*")]
)

이렇게 하면
사용자의 실수를
줄일 수 있습니다.


확장자 필터 예제

import tkinter as tk
from tkinter import filedialog, messagebox

window = tk.Tk()
window.geometry("300x200")

def open_text_file():
    file_path = filedialog.askopenfilename(
        filetypes=[("텍스트 파일", "*.txt")]
    )
    if file_path:
        messagebox.showinfo("파일 선택", file_path)

tk.Button(window, text="텍스트 파일 열기", command=open_text_file).pack(pady=60)

window.mainloop()

텍스트 파일만
선택 가능합니다.


초기 디렉토리 지정하기

파일 다이얼로그가
처음 열릴 위치를
지정할 수 있습니다.

filedialog.askopenfilename(initialdir=".")
  • "." → 현재 폴더
  • 절대 경로도 가능

사용자 경험을
조금 더 개선할 수 있습니다.


파일 다이얼로그의 반환값 활용

파일 다이얼로그는
파일을 열어주지 않습니다.

반환하는 것은
경로 문자열뿐입니다.

즉,
파일을 실제로 읽는 작업은
직접 처리해야 합니다.

with open(file_path, "r", encoding="utf-8") as f:
    data = f.read()

이 구조는
다음 강의에서
본격적으로 다룹니다.


파일 열기 다이얼로그 사용 시 주의점

파일 다이얼로그 사용 시
다음 점을 항상 고려해야 합니다.

  • 취소 상황 처리
  • 잘못된 파일 선택 가능성
  • 파일 접근 오류

다이얼로그는
입력의 시작일 뿐입니다.


실무에서 가장 많이 쓰는 패턴

실무에서는
다음 흐름이 가장 많습니다.

  1. 파일 열기 다이얼로그
  2. 경로 확인
  3. 파일 읽기 시도
  4. 실패 시 오류 메시지

이 패턴을
기본으로 기억하면 됩니다.


이번 강의 핵심 정리

이번 강의에서 꼭 기억해야 할 내용입니다.

  • filedialog로 파일 선택 창을 띄운다
  • askopenfilename은 경로를 반환한다
  • 취소 시 빈 문자열이 반환된다
  • 파일 처리는 직접 구현해야 한다

다음 강의 예고

다음 강의에서는
파일 저장 다이얼로그 사용하기를 다룹니다.

이제
읽기뿐 아니라
저장 흐름까지 완성됩니다.


728x90
도마2
@도마2 :: 도마의 코드노트

초보자를 위한 코딩 강의를 정리합니다. 파이썬부터 C#, Unity 게임 제작까지 차근차근 기록합니다. — 도마

목차