LINUX.ORG.RU

Замена строки по номеру в файле на Python

 


0

1

Здравствуйте!

Есть файл в нем 100 строк и они не будет меняться, кроме одной, а также их положение не будет меняться, т.е номера остаются прежними. Мне нужно на Python заменить 20 строку целиком на другою строку полностью. так чтобы ее номер не поменялся. Как это можно сделать?

Важно - содержимое строки заранее не известно,т.е нужно найти ее по номеру и заменить.

knigolaz
() автор топика
Ответ на: комментарий от knigolaz

Читать построчно и писать в новый файл. Дошёл до нужной строки, сдела что надо, продолжил читать и писать.

А если, всего 100 строк, то можно считать в список, поменять нужную строку и переписать файл.

vvn_black ★★★★★
()
Последнее исправление: vvn_black (всего исправлений: 1)
Ответ на: комментарий от vvn_black

Самое интересное, что вызывать некоторые утилиты из питона иногда выходит дешевле, чем нативными методами обрабатывать

ZERG ★★★★★
()

Как это к тематике форума относится? Иди на питонофорумы и там спрашивай.

anonymous
()
if __name__ == "__main__":                                                         
    with open('test.txt', 'r+') as fd:                                             
        lines = fd.readlines()                                                     
        fd.seek(0)                                                                 
        fd.writelines(lines[:19] + ['blah'] + lines[20:])
Novel ★★★★
()

Извините, может вам всё же прочитать какое-нибудь руководство для новичков по Python?

te111011010
()
Ответ на: комментарий от anonymous

Gil не мешается под ногами. Если вызывается сишный код, можно временем на создание процесса пренебречь. Заодно память экономится (привет обоим гц и гилу).

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.