Найти - Пользователи
Полная версия: двумерный массив из файла
Начало » Python для новичков » двумерный массив из файла
1
Sankovskij
Сейчас программа:

 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

сейчас программа выдаёт в выходной файл только последнюю строчку исправленную, а нужно чтобы весь файл был помещён в двумерный массив.
Vintets
параметр ‘w’ - файл открыт на запись (старое содержимое теряется)
Не нужно в цикле вызывать метод ‘write’. Сохрани последовательность, потом запиши сразу всё одним вызовом write
JOHN_16
Vintets
Не нужно в цикле вызывать метод ‘write’. Сохрани последовательность, потом запиши сразу всё одним вызовом write
Что за вредный совет? Мотивируйте
Vintets
Да, неправильный Видать не выспался. Я глянул вскользь и почему то подумал, что он файл каждый раз открывает на запись/закрывает.
Но там же всё и так работает, зачем вопрос тогда?
Sankovskij
Тут одномерный массив и по факту остаётся только последняя строчка, а нужно чтобы в двумерный записывался весь файл
Vintets
Sankovskij
входной файл:
q:1:e:r:t:y
q:2:e:r:t:y
q:3:e:r:t:y

Где здесь вообще двумерный массив?
Rodegast
 >>> 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']]
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB