Как я могу сделать копию строки в файле в Python? - PullRequest
0 голосов
/ 13 июня 2019

Я хочу прочитать файл text.txt с произвольным текстом, я хочу создать программу, которая заставит его читать его построчно, и если он найдет определенный текст для создания дубликата строки.

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

test copy test

, поэтому ясделал приведенный ниже код

with open("text.txt",'r+') as f:
    for line in f:
        print(line)
        if 'copy' in line:
            x="copy"
            f.write(x)
            f.write(x)

ожидаемый результат будет

тестовая копия теста test

но вместо этого я получу

Тестовая копия Тестовая копия Копия

Ответы [ 2 ]

2 голосов
/ 13 июня 2019

test copy test

уже находится в файле и не будет перемещаться ... Обратите внимание, что вы пишете "copy" два раза в своем скрипте.Вы пишете в конце файла.Вот почему вы получаете.

test copy test copycopy

Вы найдете "copy" один раз, затем напишите дважды, но в конце.Кроме того, вы не используете пробел при печати «копировать».

Мое предложение: создать новый файл, прочитать из оригинала, написать в новом.Если вы найдете слово, которое ищете, напишите дважды.Затем продолжайте до самого конца.

0 голосов
/ 13 июня 2019

, если следующее не работает, просто установите строку как строку. Но я думаю, это то, что вы ищете.

if 'copy' in line:
    x = line.replace('copy', 'copy copy')
    f.write(x)

Вы могли бы упростить следующее

if 'copy' in line:
    f.write(line.replace('copy', 'copy copy'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...