Tengo el siguiente código en el que intento permitir que el usuario abra un archivo de texto y una vez que el usuario lo haya seleccionado, me gustaría que el código lo lea (esto no es un bloque de código terminado, solo para mostrar lo que estoy buscando).Abrir y leer un archivo con askopenfilename
Sin embargo, estoy teniendo dificultades ya sea usando tkFileDialog.askopenfilename y agregando 'mode =' rb '' o usando el código siguiente y usando read donde produce un error.
¿Alguien sabe cómo puedo hacer esto porque no quiero tener que escribir Tkinter.'module 'para cada elemento, como Menú y Listbox? ¡Principiante a Tkinter y un poco confundido! ¡Gracias por la ayuda!
import sys
from Tkinter import *
import tkFileDialog
from tkFileDialog import askopenfilename # Open dialog box
fen1 = Tk() # Create window
fen1.title("Optimisation") #
menu1 = Menu(fen1)
def open():
filename = askopenfilename(filetypes=[("Text files","*.txt")])
txt = filename.read()
print txt
filename.close()
fen1.mainloop()
Obviamente el error que estoy recibiendo aquí es:
AttributeError: 'unicode' object has no attribute 'read'
No entiendo cómo utilizar el askopen y también ser capaz de leer el archivo que estoy abriendo.
Es posible que desee comenzar con un problema más fácil: se puede escribir un programa Python que se abre y se imprime un archivo específico, dicen '/ etc/passwd' o algún otro sencillo, conocido a-existir, archivo? – sarnold
He trabajado anteriormente con la lectura y escritura de archivos de texto, pero nunca he usado Tkinter y estoy un poco confundido después de abrir un archivo de cómo funciona. ¿Tendría que quitar el nombre del archivo? – user2063