Форум сайта python.su
0
Сейчас программа:
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()
Офлайн
6
параметр ‘w’ - файл открыт на запись (старое содержимое теряется)
Не нужно в цикле вызывать метод ‘write’. Сохрани последовательность, потом запиши сразу всё одним вызовом write
Офлайн
221
VintetsЧто за вредный совет? Мотивируйте
Не нужно в цикле вызывать метод ‘write’. Сохрани последовательность, потом запиши сразу всё одним вызовом write
Офлайн
6
Да, неправильный
Видать не выспался. Я глянул вскользь и почему то подумал, что он файл каждый раз открывает на запись/закрывает.
Но там же всё и так работает, зачем вопрос тогда?
Офлайн
0
Тут одномерный массив и по факту остаётся только последняя строчка, а нужно чтобы в двумерный записывался весь файл
Офлайн
6
Sankovskij
входной файл:
q:1:e:r:t:y
q:2:e:r:t:y
q:3:e:r:t:y
Офлайн
186
>>> 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']]
Офлайн