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

파이썬 Tkinter asksaveasfile() 함수로 파일 저장하는 방법

Tkinter는 파이썬에서 GUI 프로그래밍을 위해 사용되는 표준 라이브러리입니다. 캔버스(Canvas)를 생성하고 그 안에 다양한 속성과 동작을 지닌 UI 컴포넌트를 배치하여 데스크톱 애플리케이션을 만들 수 있습니다. 이 글에서는 asksaveasfile() 함수를 사용하여 파이썬 프로그램에서 생성한 파일을 로컬 드라이브에 저장하는 방법을 살펴보겠습니다.

asksaveasfile() 함수란?

asksaveasfile()은 tkinter.filedialog 모듈에서 제공하는 함수로, 파일 저장 대화상자를 열어 사용자가 저장 위치와 파일 이름을 직접 선택할 수 있게 해줍니다. filetypes 매개변수로 허용할 파일 형식을 지정하고, defaultextension으로 기본 확장자를 설정할 수 있어 잘못된 확장자로 저장되는 것을 방지합니다.

구현 방법

먼저 Tk()로 기본 윈도우를 생성한 뒤, ttk.Button 함수를 사용해 버튼을 배치합니다. 그다음 버튼 클릭 시 호출될 함수를 선언하고, 그 안에서 asksaveasfile()을 호출하여 파일 형식을 정의한 후 로컬 드라이브의 원하는 위치에 파일을 저장합니다.

예제 코드

from tkinter import *
from tkinter import ttk
from tkinter.filedialog import asksaveasfile

base = Tk()
base.geometry('300x250')

def SaveFile():
    data = [('All types(*.*)', '*.*')]
    file = asksaveasfile(filetypes=data, defaultextension=data)

save_btn = ttk.Button(base, text='Click to save file', command=lambda: SaveFile())
save_btn.pack(side=TOP, pady=20, padx=50)

mainloop()

실행 결과

위 코드를 실행하면 다음과 같은 화면이 나타납니다.

파이썬 Tkinter asksaveasfile() 함수로 파일 저장하는 방법

"Click to save file" 버튼을 클릭하면 아래와 같이 파일 저장 대화상자가 열립니다. 이 창에서 원하는 폴더와 파일 이름을 지정하여 파일을 손쉽게 저장할 수 있습니다.

파이썬 Tkinter asksaveasfile() 함수로 파일 저장하는 방법