Python, ошибка с '\n' , читается как строка

#https://sites.google.com/view/coderprogrammers/alis_version_checher

from turtle import width
import requests
from bs4 import BeautifulSoup
import json
version ='Version - 21.0.0'
url = f"https://sites.google.com/view/coderprogrammers/alis_version_checher"
req = requests.get(url)
soup = BeautifulSoup(req.text, "html.parser")
version_ACTUALITY = soup.find("div", class_="jXK9ad-SmKAyb").text
if version != version_ACTUALITY:
    print('Версия устарела')
    version_ACTUA = soup.find("div", class_="jXK9ad-SmKAyb").text
    print(version_ACTUA)
    with open ('vvvv.py', 'w',  encoding='utf-8') as f:
        f.write(version_ACTUA) 

else:
    print('Версия актуальна')

написал следующий код, хотел сделать автообновление файла при условии что его версия не совпадает, однако при вписании кода в файл он записывал \n строкой а не Enter, а в print() выводит тоже самое что делать, помогите пожалуйста


Ответы (1 шт):

Автор решения: CrazyElf

Если открыть страницу по ссылке, то видно, что текст программы именно так и записан, с \n в виде текста, а не в виде переноса строки. Исправить это просто - заменой:

version_ACTUA = soup.find("div", class_="jXK9ad-SmKAyb").text.replace('\\n','\n')

Тогда у вас будет нормальный код скрипта, можете его записывать дальше в файл.

Остальной код там всё-равно толком не работает, там всё нужно переделывать. Но по крайней мере эту проблему можно так решить.

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

→ Ссылка