Python: строка, добавляемая в конец вместо Replace в файле - PullRequest
0 голосов
/ 05 сентября 2018

Я новичок в питоне, На самом деле я пишу скрипт Python для замены определенной строки в файле, но в конце добавляется строка вместо Replace в файле.

Ниже приведен мой код, пожалуйста, посмотрите -

Предполагая, что file1 и file2 различны,

d = file2.readline()
z = file1.readline()

if d in z:
    print("Match_Found")
    file2.write(z.replace(d, ""))

Код выше не заменит конкретную строку строки,

Может ли кто-нибудь помочь мне, спасибо

Ответы [ 2 ]

0 голосов
/ 05 сентября 2018

Вот пример:

import io

with open('sample1.txt', 'r') as f:
   lines1 = list(f)


with open('sample2.txt', 'r') as f1:
   lines2 = list(f1)

count = len(lines1)
counter = 0

for k in range(0, count):
   if lines2[counter] == lines1[counter]:
      with open('sample2.txt', 'a') as f3:
          print("Match found!")
          f3.write('\n' + lines1[counter])

 counter += 1

Вы хотите открыть файл, в который хотите записать, в режиме добавления, и вы хотите использовать символ новой строки, чтобы начать новую строку. 'a' для режима добавления.

0 голосов
/ 05 сентября 2018

Вы можете попытаться прочитать из файла и написать в другом (новом).

Читайте ваш входной файл построчно. Если строка не «совпадает», просто запишите ее как есть в выходном файле. Если он «совпадает», запишите замещающую строку в выходной файл.

Если вы действительно хотите заменить файл (не создавая новый), вы можете удалить входной файл и переименовать выходной файл.

...