Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 30, 2017 22:45:43

Sankovskij
Зарегистрирован: 2017-08-30
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

двумерный массив из файла

Сейчас программа:

 f1 = open('text1.txt')
f3 = open('accmailpass.txt', 'w')
for line in f1:
        s1 = line
        a = s1.split(':')
        f3.write(a[0] + ':' + a[2] + ':' + a[1] + '\n')	
f1.close()
f3.close()

входной файл:
q:1:e:r:t:y
q:2:e:r:t:y
q:3:e:r:t:y

сейчас программа выдаёт в выходной файл только последнюю строчку исправленную, а нужно чтобы весь файл был помещён в двумерный массив.

Офлайн

#2 Авг. 31, 2017 10:33:46

Vintets
Зарегистрирован: 2016-07-05
Сообщения: 41
Репутация: +  6  -
Профиль   Отправить e-mail  

двумерный массив из файла

параметр ‘w’ - файл открыт на запись (старое содержимое теряется)
Не нужно в цикле вызывать метод ‘write’. Сохрани последовательность, потом запиши сразу всё одним вызовом write

Офлайн

#3 Авг. 31, 2017 10:36:35

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

двумерный массив из файла

Vintets
Не нужно в цикле вызывать метод ‘write’. Сохрани последовательность, потом запиши сразу всё одним вызовом write
Что за вредный совет? Мотивируйте



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#4 Авг. 31, 2017 12:13:33

Vintets
Зарегистрирован: 2016-07-05
Сообщения: 41
Репутация: +  6  -
Профиль   Отправить e-mail  

двумерный массив из файла

Да, неправильный Видать не выспался. Я глянул вскользь и почему то подумал, что он файл каждый раз открывает на запись/закрывает.
Но там же всё и так работает, зачем вопрос тогда?

Офлайн

#5 Авг. 31, 2017 12:48:33

Sankovskij
Зарегистрирован: 2017-08-30
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

двумерный массив из файла

Тут одномерный массив и по факту остаётся только последняя строчка, а нужно чтобы в двумерный записывался весь файл

Офлайн

#6 Авг. 31, 2017 14:29:18

Vintets
Зарегистрирован: 2016-07-05
Сообщения: 41
Репутация: +  6  -
Профиль   Отправить e-mail  

двумерный массив из файла

Sankovskij
входной файл:
q:1:e:r:t:y
q:2:e:r:t:y
q:3:e:r:t:y

Где здесь вообще двумерный массив?

Офлайн

#7 Авг. 31, 2017 14:32:13

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2842
Репутация: +  186  -
Профиль   Отправить e-mail  

двумерный массив из файла

 >>> s = """q:1:e:r:t:y
... q:2:e:r:t:y
... q:3:e:r:t:y"""
>>> map(lambda x: x.split(":"), s.split("\n"))
[['q', '1', 'e', 'r', 't', 'y'], ['q', '2', 'e', 'r', 't', 'y'], ['q', '3', 'e', 'r', 't', 'y']]



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version