Форум сайта python.su
15
Вот например python3.3:
file = open('some.txt', 'w+') text = ''' Первая строка ВТорая строка Третья строка Четверта строка ''' file.write(text) file.seek(text.find('Третья')) text2 = 'ааапп кук вкасвки 21312312313dddddddddd' file.write(text2) file.seek(0) print(file.read())
Офлайн
43
нет, обычно полностью перезаписывают
. Как ты себе представляшь отодвигание строк в памяти?
Офлайн
15
Сделал вот так:
file = open('some.txt', 'w+') text = ''' Первая строка ВТорая строка Третья строка Четверта строка ''' file.write(text) file.seek(text.find('Третья')+1) file_chunk = file.read() file.seek(text.find('Третья')+1) text2 = '\nааапп кук вкасвки 21312312313dddddddddd' file.write(text2) file.write(file_chunk) file.seek(0) print(file.read())
Офлайн
4
Если я правильно понял, вы хотите это:
text2 = 'ааапп кук вкасвки 21312312313dddddddddd' with open('some.txt') as file: my_text=file.read() with open('some.txt', 'w') as file: my_text=my_text.replace('Третья строка\nЧетверта строка','Третья строка\n'+text2+'\nЧетверта строка') file.write(my_text) with open('some.txt') as file: print(file.read())
Первая строка
ВТорая строка
Третья строка
ааапп кук вкасвки 21312312313dddddddddd
Четверта строка
Офлайн
4
Как вариант, прочитайте текст в массив:
# Построчно загрузить файл в массив и вернуть как переменную def load_array(file): with open(file) as f: array=f.read().splitlines() return array
Офлайн