파이썬(Python)

[ Tkinter ] 파이썬에서 파일 선택창 열기(Python filedialog)

카루루1007 2022. 9. 28. 23:31
728x90
반응형
◆ tkinter 모듈 설치하기

pip install tk

 

◆ tkinter.filedialog 모듈 import

from tkinter import filedialog

 

◆ filedialog 모듈 안의 askopenfilename() 함수 호출

filename = filedialog.askopenfilename()

 

◆ 전체코드

from tkinter import filedialog

filename = filedialog.askopenfilename()

print(filename)

 

위 코드를 실행하면 결과는 다음과 같습니다.

빨간색 네모 박스 부분은 우선 제외하고 보면

익숙한 윈도우 탐색기 창이 나타나게 됩니다.

파일을 하나 선택하고 [ 열기 ]를 누르면

C:/Program Files (x86)/StarCraft/StarCraft Launcher.exe

위와 같이 파일이름이 filename이라는 변수에 제대로 저장된 것을 알 수 있습니다.

반응형

만약 filename = filedialog.askopenfilenames()

를 사용하게 되면 여러개의 파일을 한번에 선택할 수 있습니다.

※ 끝에 s 가 붙어 있습니다.

위 코드로 바꾼뒤 파일을 선택하면

('C:/Program Files (x86)/StarCraft/.build.info', 'C:/Program Files (x86)/StarCraft/.patch.result', 'C:/Program Files (x86)/StarCraft/.product.db', 'C:/Program Files (x86)/StarCraft/Launcher.db', 'C:/Program Files (x86)/StarCraft/StarCraft Launcher.exe')

위와 같이 결과가 나타나게 됩니다.

 

askopenfilename() 함수를 통해 불러온 값을 저장하는 filename은

type(filename) 를 통해 확인해보면 str 타입임을 확인할 수 있습니다.

askopenfilenames() 함수를 통해 불러온 값을 저장하는 filename은

type(filename) 를 통해 확인해보면 tuple 타입임을 확인할 수 있습니다.

 

◆ 시작 경로 및 파일 타입 지정하기

처음 보여지는 경로 및 파일의 타입을 설정하기 위해서는

askopenfilename() 또는 askopenfilenames() 함수의 인자에 다음을 추가하면 됩니다.

askopenfilenames(initialdir="c:/", filetypes=(("All file", "*.*"),))

initialdir은 시작되는 경로를 설정합니다.

filetypes는 보여지는 파일의 확장자를 설정할 수 있습니다.

주의할 점은 끝에 [ , ]를 붙이지 않으면 에러메세지가 출력이 된다는 점입니다.

만약 엑셀파일만을 열게하고 싶다면

askopenfilenames(initialdir="c:/", filetypes=(("Excel files", "*.xls*"),))

이런식으로 작성해 볼 수 있습니다.

 

◆ root window 없애기

앞서 보았던 것에서 빨간색 네모 부분 창을 없애는 방법을 알아보겠습니다.

import tkinter as tk

root = tk.Tk()
root.withdraw()

위와 같이 코드를 추가해 주시면 빨간색 부분의 윈도우를 보이지 않게 할 수 있습니다.

 

여기를 방문하시면 더 많은 파이썬 관련 자료를 확인할 수 있습니다.

파이썬 공부하기

728x90
반응형