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 шт):
Если открыть страницу по ссылке, то видно, что текст программы именно так и записан, с \n в виде текста, а не в виде переноса строки. Исправить это просто - заменой:
version_ACTUA = soup.find("div", class_="jXK9ad-SmKAyb").text.replace('\\n','\n')
Тогда у вас будет нормальный код скрипта, можете его записывать дальше в файл.
Остальной код там всё-равно толком не работает, там всё нужно переделывать. Но по крайней мере эту проблему можно так решить.
Например, номер версии там видимо нужно с помощью регулярного выражения вытаскивать. А сейчас вы в качестве номера версии пытаетесь брать весь код скрипта.