Код: Выделить всё
for line in open(dialog.get_filename()):
self.textbuffer.set_text(line)
В textview выводится почему-то только последняя строчка. В то время как простым print line в терминал выводится весь файл
Модератор: Модераторы разделов
Код: Выделить всё
for line in open(dialog.get_filename()):
self.textbuffer.set_text(line)
Код: Выделить всё
self.textbuffer.set_text(open(dialog.get_filename()).readlines())
deadhead писал(а): ↑11.02.2010 16:58все правильно :-)
на каждой итерации объект line содержит строку. вызывая print вы печатаете содержимое объекта и... все... print не беспокоится о его содержимом, он свое дело сделал. в случае же с set_text вы ссылаетесь на изменяемый объект line... про ссылочную модель вы уже в курсе :-)
как же быть? например, так
Код: Выделить всё
self.textbuffer.set_text(open(dialog.get_filename()).readlines())
Код: Выделить всё
file = open(dialog.get_filename())
while file:
line = a.readline()
self.textbuffer.set_text(line)
Код: Выделить всё
for line in open(dialog.get_filename()):
self.textbuffer.set_text(open(dialog.get_filename()).read())
Код: Выделить всё
for line in open(dialog.get_filename()):
self.textbuffer.set_text(line[:])
deadhead писал(а): ↑11.02.2010 17:42а срезом пробовали?
Код: Выделить всё
for line in open(dialog.get_filename()): self.textbuffer.set_text(line[:])
P.S.
какое-то странное у вас решение... вы открываете файл и затем... о боже... открываете его еще раз, и еще и еще... а работает такое решение лишь потому что объект файла разделяемый.
Код: Выделить всё
for line in open(dialog.get_filename()):
self.textbuffer.set_text(line[:])
Код: Выделить всё
>>>open(r'new file').read()
'line 3\nline 2\nline 1\n'
Код: Выделить всё
line 3
line 2
line 1
Код: Выделить всё
for line in open(dialog.get_filename()):
self.textbuffer.insert(self.iterator, line)
self.textview.forward_display_line(self.iterator)
deadhead писал(а): ↑11.02.2010 19:10
Вы пример с read() без циклов пробовали?
Спрашиваю, потому что
Код: Выделить всё
>>>open(r'new file').read() 'line 3\nline 2\nline 1\n'
Содержимое файла new file
Код: Выделить всё
line 3 line 2 line 1
Код: Выделить всё
self.textbuffer.set_text(open(dialog.get_filename()).read())