Python | función askopenfile() en Tkinter

Mientras trabaja con GUI, es posible que necesite abrir archivos y leer datos de ellos o puede requerir escribir datos en ese archivo en particular. Uno puede lograr esto con la ayuda de la open()función (python incorporado), pero es posible que no pueda seleccionar ningún archivo requerido a menos que proporcione una ruta a ese archivo en particular en el código.
Con la ayuda de la GUI, es posible que no necesite especificar la ruta de ningún archivo, pero puede abrir un archivo directamente y leer su contenido.

Para utilizar la función askopenfile(), es posible que deba seguir estos pasos:

-> import tkinter
-> from tkinter.filedialog import askopenfile ## Ahora puede usar esta función
-> file = askopeenfile(mode=’r’, filetypes=[(‘cualquier nombre que desee mostrar’, ‘extensión del tipo de archivo ‘)])

Tenemos que especificar el modo en el que desea abrir el archivo como en el fragmento anterior, esto abrirá un archivo en modo de lectura.

# importing tkinter and tkinter.ttk
# and all their functions and classes
from tkinter import * 
from tkinter.ttk import *
  
# importing askopenfile function
# from class filedialog
from tkinter.filedialog import askopenfile
  
root = Tk()
root.geometry('200x100')
  
# This function will be used to open
# file in read mode and only Python files
# will be opened
def open_file():
    file = askopenfile(mode ='r', filetypes =[('Python Files', '*.py')])
    if file is not None:
        content = file.read()
        print(content)
  
btn = Button(root, text ='Open', command = lambda:open_file())
btn.pack(side = TOP, pady = 10)
  
mainloop()

Producción:
askopenfile() function in Tkinter

Contenido impreso del archivo seleccionado –
Printed content of selected file

Comparación del contenido del archivo original y el contenido impreso –
Comparison of content of original file and printed content

Nota: En el código anterior solo .pyse abrirán archivos de tipos (archivos python). Para abrir un tipo específico de archivos, uno tiene que mencionarlo en la opción de tipos de archivo junto con su extensión como se hizo en el código anterior.

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 *