Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Tkinter tkFileDialog로 파일의 절대 경로를 가져오는 방법

Tkinter는 파이썬의 표준 라이브러리로, 기능이 풍부한 데스크톱 애플리케이션을 만들고 개발하는 데 널리 사용됩니다. 다양한 내장 함수, 모듈, 패키지를 제공하기 때문에 애플리케이션의 로직을 손쉽게 구성할 수 있습니다.

tkFileDialog는 Tkinter 라이브러리에 기본으로 포함된 모듈로, 시스템의 파일과 디렉터리와 상호작용할 때 매우 유용합니다. 이 모듈을 사용해 읽기 모드로 특정 파일을 선택하면, 이후 해당 파일에 담긴 정보를 자유롭게 가공하고 처리할 수 있습니다.

애플리케이션에서 파일을 불러올 때 그 파일의 절대 경로(absolute path)까지 함께 확인하고 싶다면, OS 모듈에서 제공하는 os.path.abspath(file.name) 함수를 활용하면 됩니다. 이 함수는 파일의 절대 경로를 문자열로 반환하며, 반환된 값을 변수에 저장해 창이나 화면에 바로 표시할 수도 있습니다.

예제 코드

# 필요한 라이브러리 임포트
from tkinter import *
from tkinter import ttk, filedialog
from tkinter.filedialog import askopenfile
import os

# tkinter 프레임 인스턴스 생성
win = Tk()

# 프레임 크기 설정
win.geometry("700x350")

def open_file():
    # 읽기 모드로 파일 대화상자 열기
    file = filedialog.askopenfile(mode='r', filetypes=[('Python Files', '*.py')])
    if file:
        # 선택한 파일의 절대 경로 얻기
        filepath = os.path.abspath(file.name)
        Label(win, text="The File is located at : " + str(filepath), font=('Aerial 11')).pack()

# 안내용 레이블 위젯 추가
label = Label(win, text="Click the Button to browse the Files", font=('Georgia 13'))
label.pack(pady=10)

# 버튼 생성
ttk.Button(win, text="Browse", command=open_file).pack(pady=20)

win.mainloop()

코드 핵심 정리

  • filedialog.askopenfile(mode='r'): 파일 탐색기를 열어 사용자가 파일을 선택하도록 하며, 선택된 파일 객체를 반환합니다.
  • os.path.abspath(file.name): 선택된 파일 이름을 받아 운영체제 기준의 전체(절대) 경로로 변환합니다.
  • Label 위젯: 변환된 경로를 GUI 화면에 출력하는 역할을 합니다.

실행 결과

코드를 실행하면 먼저 아래와 같은 창이 나타납니다.

Tkinter tkFileDialog로 파일의 절대 경로를 가져오는 방법

이제 "Browse" 버튼을 클릭하고 파일 탐색기에서 파이썬 파일(.py)을 하나 선택해 보세요. 그러면 선택한 파일의 절대 경로가 화면에 표시됩니다.

Tkinter tkFileDialog로 파일의 절대 경로를 가져오는 방법