Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 4, 2013 10:13:59

balaganov
От: Санкт-Петербург
Зарегистрирован: 2013-02-03
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Запись в начало файла.

Здравствуйте!
Задача: сделать запись в начало текстового файла.
Написал. Вроде работает.
Вопрос: можно ли решить эту задачу красивее и компактней?
Приветствуются замечания по оформлению кода

# записываем строку в начало файла

myf = open('test1.txt', 'r')
memo = myf.read()

ah = open('test1.txt', 'w')
ah.write('New line, text\n\n')
ah.close()

myf_new = open('test1.txt', 'a')
myf_new.write(memo)
myf_new.close()

Офлайн

#2 Фев. 4, 2013 10:53:24

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Запись в начало файла.

with open('uu.txt', 'r') as file:
    a=file.readlines()
    a.insert(0, 'New line\n')
with open('uu.txt', 'w') as file:
    file.writelines(a)



Офлайн

#3 Фев. 4, 2013 12:51:56

Isem
От:
Зарегистрирован: 2010-08-27
Сообщения: 447
Репутация: +  7  -
Профиль   Отправить e-mail  

Запись в начало файла.

with open('uu.txt', 'r+') as f:
	lines = f.readlines()
	f.seek(0)
	f.writelines( ["first line\n"]+lines )



Офлайн

#4 Фев. 4, 2013 13:11:18

Isem
От:
Зарегистрирован: 2010-08-27
Сообщения: 447
Репутация: +  7  -
Профиль   Отправить e-mail  

Запись в начало файла.

С извратом.

with open('uu.txt', 'r+') as f:
    f.writelines( ["first line\n"]+[f.readlines(),f.seek(0)][0] )



Офлайн

#5 Фев. 5, 2013 00:19:36

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9885
Репутация: +  853  -
Профиль   Отправить e-mail  

Запись в начало файла.

with open('file.txt', 'r+', encoding='utf-8') as fio:
    data = fio.read()
    fio.seek(0)
    fio.write('line\n' + data)



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version