Как добавить строку где-нибудь, указав c в текстовом файле - PullRequest
0 голосов
/ 11 марта 2020

У меня есть текстовый файл с этим текстом внутри:

<html>
    <head>
        <title>My first webpage</title>
        <style>body{background-color:white; color:black}</style>
    </head>
    <body>
        <p></p>
    </body>
</html>

Я хочу добавить строку между

в седьмой строке. Например, что-то вроде этого:
<html>
    <head>
        <title>My first webpage</title>
        <style>body{background-color:white; color:black}</style>
    </head>
    <body>
        <p>This is an example</p>
    </body>
</html>

Я закодировал это, но это явно неправильно

def makeHomepage():
    f = open("webcode.html", "r")
    line = f.readlines()

    for line in f:
        if line == "<p><p>":
            print(line + "Hello World")

print(makeHomepage())

Я искал ответы онлайн несколько часов назад, поэтому любая помощь будет с благодарностью

1 Ответ

0 голосов
/ 11 марта 2020

Для этого вам нужно открыть файл в режиме r+, чтобы прочитать и записать в файл. Используйте file.seek(), чтобы изменить текущую позицию файла на индекс, где <p> встречается в файле. Затем напишите новый текст и оставшуюся часть файла.

with open('webcode.html', 'r+') as file:
    text = file.read()
    i = text.index('<p>') + 3
    file.seek(i)
    file.write('Hello World' + text[i:])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...