Python - przycisk, otwieranie pliku w edytorze tekstowym

0

Witam,

zacząłem pisać sobie edytor tekstowy w Pythonie, taki prymitywny, dla testów. Stanąłem bardzo niedaleko początku i pojawił się problem.

from tkFileDialog import askopenfilename

     
def onOpen(self):
        filename = askopenfilename()
        if filename:
            alltext = self.gettext()
         __   open(filename, 'w').read(alltext)__  <--- tu pojawił się problem, nie mogę pobrać tekstu z pliku.

Czy mógłby ktoś mnie nakierować na dobrą drogę?

Dzięki

0

https://docs.python.org/3/tutorial/inputoutput.html#methods-of-file-objects

read() przyjmuje jako parametr wielkość tekstu, albo nie przyjmuje nic, wtedy czyta całość.

Btw nigdzie nie zapisujesz wartości zwracanej przez read(), więc raczej jej na oczy nie zobaczysz ;p

0
 alltext = open(filename, 'w')
            print alltext.read()

tak też nie działa. zapisuję w zmiennej alltext i odczyt bez parametru jak mówiłeś i dalej kwiczy. ;/
coś nie chce otworzyć pliczku

print alltext.read()
IOError: File not open for reading

2

'w' to jest czytanie (reading), czy pisanie (writing)?

0

a no writing :P racja, zmieniłem i jest prawie cacy, bo wypisuje mi w konsoli zamiast w ramce :P

1

No to raczej logiczne skoro używasz print. Musisz użyć do tego metod TkIntera skoro go używasz :D

Btw, po zakończeniu pracy nad plikiem powinieneś go zamknąć używając alltext.close(), albo użyć instrukcji with, która zamknie plik za ciebie automatycznie.

0

Dzięki wielkie :) zadanie ukończone :P

1 użytkowników online, w tym zalogowanych: 0, gości: 1