Python | función asksaveasfile() en Tkinter

Python proporciona una variedad de módulos con la ayuda de los cuales se pueden desarrollar aplicaciones GUI (interfaz gráfica de usuario). Tkinter es una de las formas más fáciles y rápidas de desarrollar aplicaciones GUI.

Mientras trabaja con archivos, es posible que necesite abrir archivos, realizar operaciones en los archivos y luego guardar el archivo. asksaveasfile()es la función que se utiliza para guardar el archivo del usuario (la extensión se puede configurar explícitamente o también puede configurar extensiones predeterminadas). Esta función viene bajo el . class filedialog

A continuación se muestra el código:

# importing all files  from tkinter
from tkinter import * 
from tkinter import ttk
  
# import only asksaveasfile from filedialog
# which is used to save file in any extension
from tkinter.filedialog import asksaveasfile
  
root = Tk()
root.geometry('200x150')
  
# function to call when user press
# the save button, a filedialog will
# open and ask to save file
def save():
    files = [('All Files', '*.*'), 
             ('Python Files', '*.py'),
             ('Text Document', '*.txt')]
    file = asksaveasfile(filetypes = files, defaultextension = files)
  
btn = ttk.Button(root, text = 'Save', command = lambda : save())
btn.pack(side = TOP, pady = 20)
  
mainloop()

Salida #1: Directorio antes de guardar cualquier archivo (la carpeta está inicialmente vacía)
función asksaveasfile() en Tkinter

Salida #2: cuadro de diálogo cuando el usuario presiona el botón Guardar (se abre el cuadro de diálogo para guardar el archivo). Puede ver en el archivo Python de salida que está seleccionado por defecto.
Dialogbox when user presses the save button

Salida #3: Directorio después de guardar 2 archivos de Python (uno también puede cambiar el tipo de archivo)
Directory after saving 2 Python files

Publicación traducida automáticamente

Artículo escrito por sanjeev2552 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *