Tkinter는 애플리케이션의 다양한 구성 요소와 사용자 상호작용 항목을 만들 수 있도록 여러 내장 함수와 클래스 라이브러리 메서드를 제공합니다. 그중 filedialog 모듈은 파일이나 디렉터리를 선택하는 창을 만들기 위한 클래스와 라이브러리 함수를 제공합니다. 사용자에게 시스템에서 파일이나 폴더를 탐색하도록 요청해야 하는 경우에 filedialog를 활용할 수 있습니다.
또한 특정 파일을 불러올 시작 위치(디렉터리)를 직접 지정하는 것도 가능합니다. 특정 위치에서 열리는 파일 대화상자를 표시하려면 정적 팩토리 함수인 askopenfilename(initialdir=<위치>)에 initialdir = <위치> 인자를 전달하면 됩니다. 이 함수는 모달 방식과 유사한 대화상자를 생성하고, 사용자가 파일을 선택할 때까지 기다린 뒤 선택된 파일의 값을 호출자에게 반환합니다.
예제 코드
사용자가 시스템 디렉터리에서 파일을 선택하도록 요청하는 애플리케이션을 만들어 보겠습니다.
# 필요한 라이브러리 임포트
from tkinter import *
from tkinter import filedialog
from tkinter import ttk
# Tkinter 윈도우 인스턴스 생성
win = Tk()
win.geometry("700x350")
# Style 클래스 인스턴스 생성
style=ttk.Style(win)
def open_win_diag():
# 대화상자 생성
file=filedialog.askopenfilename(initialdir="C:/")
f=open(win.file, 'r')
# 레이블 위젯 생성
label=Label(win, text= "버튼을 클릭하여 파일을 탐색하세요", font='Arial 15 bold')
label.pack(pady= 20)
# 대화상자를 여는 버튼 생성
button=ttk.Button(win, text="열기", command=open_win_diag)
button.pack(pady=5)
win.mainloop()실행 결과
위 코드를 실행하면 두 개의 위젯이 포함된 윈도우가 화면에 나타납니다.

버튼 위젯을 클릭하면 파일 대화상자가 열리고, 사용자가 시스템에서 파일을 탐색하도록 안내합니다.

여기서는 askopenfilename() 함수에 "initialdir=C:/"를 지정했습니다. 따라서 대화상자가 열릴 때 C 드라이브가 초기 디렉터리로 표시됩니다.