Working for you

it, 인터넷, 컴퓨터, 프로그램 정보 공유

tkinter 파일 불러오기

Python Tkinter GUI 요소들은 대부분 기본적인 기능만을 가지고 있기 때문에, 더욱 많은 기능이 필요한 경우 사용자에게 파일을 선택하거나 저장할 수 있는 대화 상자를 제공해야 할 때가 있습니다. 이 때, filedialog 모듈을 사용할 수 있습니다. 이 글에서는 파이썬 Tkinter 파일 불러오기-filedialog 에 대해 알아보겠습니다.



1. 파이썬 Tkinter 파일 불러오기-filedialog

Tkinter filedialog 모듈

Python filedialog 모듈은 파일 선택 대화 상자를 만드는 데 사용됩니다. filedialog 모듈은 Tkinter 라이브러리에 포함되어 있으며, 다음과 같이 사용할 수 있습니다.

1
2
from tkinter import filedialog
 
cs

filedialog askopenfilename()

askopenfilename() 메서드는 파일을 선택할 수 있는 대화 상자를 엽니다. 이 메서드는 선택한 파일의 경로를 반환합니다. 만약 취소 버튼을 누르면 빈 문자열을 반환합니다. 이 메서드를 사용하면 사용자가 원하는 파일을 쉽게 선택할 수 있습니다.

1
2
3
4
5
from tkinter import filedialog
 
file_path = filedialog.askopenfilename()
print(file_path)
 
cs

[결과화면]

askopenfilename

filedialog asksaveasfilename()

asksaveasfilename() 메서드는 파일을 저장할 수 있는 대화 상자를 엽니다. 이 메서드는 사용자가 지정한 파일 이름을 반환합니다. 만약 취소 버튼을 누르면 빈 문자열을 반환합니다. 이 메서드를 사용하면 사용자가 원하는 파일 이름으로 쉽게 저장할 수 있습니다.

1
2
3
4
5
from tkinter import filedialog
 
file_path = filedialog.asksaveasfilename(defaultextension=‘.txt’)
print(file_path)
 
cs
asksaveasfilename

파일 다이얼로그 창 – 설정

파일 다이얼로그 창에는 여러 가지 설정을 추가할 수 있습니다. askopenfilename() 및 asksaveasfilename() 메서드에서는 다양한 인수를 사용하여 파일 다이얼로그 창의 설정을 추가할 수 있습니다. 이러한 인수는 다음과 같습니다.

  • initialdir : 파일 다이얼로그 창이 열릴 기본 디렉토리를 설정합니다.
  • title : 파일 다이얼로그 창의 제목을 설정합니다.
  • filetypes : 파일 다이얼로그 창에서 사용 가능한 파일 유형을 설정합니다.

예를 들어, 다음과 같이 사용자의 문서 폴더에서 txt 파일을 선택할 수 있는 파일 다이얼로그 창을 열 수 있습니다.

1
2
3
4
5
from tkinter import filedialog
 
file_path = filedialog.askopenfilename(initialdir=‘C:/Users/사용자명/Documents’, title=‘Select a text file’, filetypes=((‘Text files’‘*.txt’), (‘All files’‘*.*’)))
print(file_path)
 
cs

[결과화면]

파일 다이얼로그 창

메모장.txt 선택 후 열기 시 결과 값은 경로로 받음.

2. 예제1 – 파일 탐색 창 사용 이미지 파일 열기

이번 예제에서는 파일 다이얼로그 창을 사용하여 이미지를 불러오는 코드를 작성해보겠습니다. 다음과 같이 코드를 작성할 수 있습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from tkinter import *
from tkinter import filedialog
 
root = Tk()
 
def open_image():
    file_path = filedialog.askopenfilename(filetypes=((“Image files”“*.jpg;*.png”), (“All files”“*.*”)))
    image = PhotoImage(file=file_path)
    label = Label(root, image=image)
    label.pack()
 
button = Button(root, text=“Open Image”, command=open_image)
button.pack()
 
root.mainloop()
 
cs

[결과화면]

파일 탐색 창 사용 이미지 파일 열기

3. 예제2 – 파이썬 tkinter csv, 엑셀파일, 텍스트파일 불러오기

다음은 Python tkinter를 사용하여 CSV, XLSX 및 TXT 파일을 가져오는 예제 코드입니다. CSV, XLSX 및 TXT 파일을 가져오기 위한 세 개의 버튼이 있는 tkinter 창을 만듭니다. 사용자가 버튼을 클릭하면 파일 대화 상자가 열리고 사용자가 파일을 선택할 수 있습니다. 파일이 선택되면 코드는 pandas를 사용하여 파일을 읽고 CSV 및 XLSX 파일의 콘솔에 데이터를 인쇄합니다. TXT 파일의 경우 코드는 파일을 읽고 내용을 콘솔에 인쇄합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import tkinter as tk
from tkinter import filedialog
import pandas as pd
 
class FileImporter(tk.Frame):
    def __init__(self, master=None):
        super().__init__(master)
        self.master = master
        self.pack()
        self.create_widgets()
 
    def create_widgets(self):
        self.csv_button = tk.Button(self, text=“Import CSV”, command=self.import_csv)
        self.csv_button.pack(side=“left”)
 
        self.xlsx_button = tk.Button(self, text=“Import XLSX”, command=self.import_xlsx)
        self.xlsx_button.pack(side=“left”)
 
        self.txt_button = tk.Button(self, text=“Import TXT”, command=self.import_txt)
        self.txt_button.pack(side=“left”)
 
    def import_csv(self):
        file_path = filedialog.askopenfilename(filetypes=[(“CSV Files”“*.csv”)])
        if file_path:
            data = pd.read_csv(file_path)
            print(data.head())
 
    def import_xlsx(self):
        file_path = filedialog.askopenfilename(filetypes=[(“XLSX Files”“*.xlsx”)])
        if file_path:
            data = pd.read_excel(file_path)
            print(data.head())
 
    def import_txt(self):
        file_path = filedialog.askopenfilename(filetypes=[(“TXT Files”“*.txt”)])
        if file_path:
            with open(file_path, “r”as f:
                data = f.read()
            print(data)
 
root = tk.Tk()
app = FileImporter(master=root)
app.mainloop()
 
cs

파이썬 tkinter csv 열기

파이썬 tkinter csv 열기

파이썬 tkinter 엑셀파일 xlsx 열기

파이썬 tkinter 엑셀파일 xlsx 열기

파이썬 tkinter 텍스트파일 txt 열기

파이썬 tkinter 텍스트파일 txt 열기

4. 파이썬 Tkinter 파일 불러오기-filedialog-결론 및 의견

이상으로 파이썬 Tkinter 파일 불러오기-filedialog 에 대해서 알아보았습니다. filedialog 모듈을 사용하면 파이썬에서 파일을 선택하고 저장할 수 있는 대화 상자를 만들 수 있습니다. 이를 활용하면 더욱 인터랙티브한 GUI 프로그램을 만들 수 있습니다. 파일 다이얼로그 창의 다양한 설정을 활용하여 사용자에게 더욱 편리한 프로그램을 제공할 수 있습니다.

[관련글]

python tkinter gui 만들기

python tkinter Label

파이썬 GUI PYQT6 란?

파이썬 GUI 라이브러리 – PYQT, TKINTER, KIVY

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다